我正在使用 swing,在我的应用程序中,我需要并行运行许多线程,例如每 5 秒检查一次互联网连接、监控文件系统更改、从服务器同步文件。
上面所有耗时的任务都在运行,SwingWorker
所以我的 GUI 不应该冻结。
同时我需要运行一些其他耗时的任务,例如将文件上传到服务器。为此,我还使用了 swingWorker。然后我将所有这些 swingworker 提交给 executerService 进行线程池,这样它们就不会相互影响。
我的执行器服务是这样的。我认为30个线程对我来说就足够了。
static ExecutorService threadExecutor;
threadExecutor = Executors.newFixedThreadPool(30);
然后我在同一个服务中提交线程。
threadExecutor.submit(monitorinternetconnectivity); //submitting swingworker obejct
我在开始时提交的一些线程和一些我添加运行时的线程,当我在运行时添加时,它不会完成工作或停止运行它们的工作,比如监控互联网连接。
有没有办法像摇摆工人一样拥有相同的功能,或者使用多个摇摆工人的最佳方式。我们应该能够在运行时添加新的Swingwoker来executer
服务