草庐IT

SwingWorker-pool

全部标签

java - 等待多个 SwingWorker

请考虑以下代码片段:importjava.awt.FlowLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.lang.reflect.InvocationTargetException;importjavax.swing.*;publicclassTestAppletextendsJApplet{@Overridepublicvoidinit(){try{SwingUtilities.invokeAndWait(newRunnable(){@Overridepub

java - 来自 SwingWorker 的 jProgressBar 更新

我通过更新ProgressBar来监控长时间运行的任务。长时间运行的任务当然是在Swingworker线程中执行的。我曾经编写过这样的程序:publicclassMySwingWorkerClassextendsSwingWorker{privateJProgressBarprogressBar;publicMySwingWorker(JProgressBaraProgressBar){this.progressBar=aProgressBar;progressBar.setVisible(true);progressBar.setStringPainted(true);progres

java - 为 Eclipse 的 .p2 树 ("bundle pool"使用不同的位置)

我目前正在尝试将Eclipse设置为从/opt/eclipse运行。一切顺利;我使用Eclipse安装程序将软件提取到/opt/eclipse;我在我的/usr/bin目录中创建了一个指向它的软链接(softlink),这样我就可以在我的用户终端的任何地方输入“eclipse”来运行它,我以为我已经完成了,直到发生这种情况:$eclipse/root/.p2/pool/plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.400.v20160518-1444:无法打开共享对象文件:权限被拒绝Gtk-Message:GtkDi

java - SwingWorker 进度条

我正在尝试让进度条准确反射(reflect)我的SwingWorker。但我真的不知道该怎么做。在操作完成之前,我得到了只做静态动画的栏,但我想要一个真正的Activity栏。/**Tochangethistemplate,chooseTools|Templates*andopenthetemplateintheeditor.*/packagefrglauncher;importjava.io.File;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException

java - 为什么选择 SwingWorker?为什么不只是 Thread 或 Runnable?

使用SwingWorker代替Thread或Runnable有什么优势? 最佳答案 我认为SwingWorker的文档还不错:AnabstractclasstoperformlengthyGUI-interactingtasksinadedicatedthread.Whenwritingamulti-threadedapplicationusingSwing,therearetwoconstraintstokeepinmind:(refertoHowtoUseThreadsformoredetails):Time-consuming

java - 如何使这个 SwingWorker 代码可测试

考虑这段代码:publicvoidactionPerformed(ActionEvente){setEnabled(false);newSwingWorker(){privateStringlocation=url.getText();@OverrideprotectedFiledoInBackground()throwsException{Filefile=newFile("out.txt");Writerwriter=null;try{writer=newFileWriter(file);creator.write(location,writer);}finally{if(writ

python multiprocessing.Pool kill *特定*长时间运行或挂起的进程

我需要执行一个包含许多并行数据库连接和查询的池。我想使用multiprocessing.Pool或concurrent.futuresProcessPoolExecutor。Python2.7.5在某些情况下,查询请求花费的时间太长或永远不会完成(挂起/僵尸进程)。我想从超时的multiprocessing.Pool或concurrent.futuresProcessPoolExecutor中终止特定进程。这是一个如何终止/重新生成整个进程池的示例,但理想情况下我会尽量减少CPU抖动,因为我只想终止在超时秒后未返回数据的特定长时间运行的进程。由于某些原因,在返回并完成所有结果后,下面的

python - 我应该每次都创建一个新的 Pool 对象还是重复使用一个?

我正在尝试了解Python的multiprocessing.Pool对象的最佳实践。在我的程序中,我经常使用Pool.imap。通常,每次我并行启动任务时,我都会创建一个新的池对象,然后在完成后将其关闭。我最近遇到了提交到池中的任务数少于进程数的挂起。奇怪的是,它只发生在我的测试管道中,它之前运行了很多东西。单独运行测试并没有导致手牌。我认为这与制作多个池有关。我真的很想找到一些资源来帮助我了解使用Python多处理的最佳实践。具体来说,我目前正在尝试了解制作多个池对象与仅使用一个池对象的含义。 最佳答案 当您创建一个工作进程池时,

python - `context` 中的 `multiprocessing.pool.Pool` 参数是什么意思?

context是classmultiprocessing.pool.Pool构造函数中的可选参数。Documentation只说:contextcanbeusedtospecifythecontextusedforstartingtheworkerprocesses.Usuallyapooliscreatedusingthefunctionmultiprocessing.Pool()orthePool()methodofacontextobject.Inbothcasescontextissetappropriately.它没有阐明什么是“上下文对象”,为什么classPool构造函数

python - 如何杀死多进程中的所有 Pool worker?

我想停止一个worker的所有线程。我有一个有10个worker的线程池:defmyfunction(i):print(i)if(i==20):sys.exit()p=multiprocessing.Pool(10,init_worker)foriinrange(100):p.apply_async(myfunction,(i,))我的程序不会停止,其他进程会继续工作,直到完成所有100次迭代。我想从调用sys.exit()的线程内部完全停止池。目前的编写方式只会停止调用sys.exit()的worker。 最佳答案 这没有按您预期