我正在设计一个Java GUI驱动的应用程序,它运行许多独立的任务,每个任务都在其自己的SwingWorker扩展类中执行。这是我通常使用的正常设计,以便在其自己的线程上运行任务,并仍然保持EDT空闲以更新GUI。每个SwingWorker都使用Executors.newCachedThreadPool在其自己的线程上启动。
然而,在一个特定的类中,有一个需要相当长时间处理的任务。该任务包含一个for循环,最多执行六次的某些计算。
我想到了在各自的线程中实现这六个计算中的每一个,以加快处理时间,但我不确定实现此目的的最佳方法。
是否可以同时扩展SwingWorker并实现Runnable,然后在for循环中使用void Run()方法,每次启动一个新线程,或使用cachedThreadPool。
还是最好只使用标准的Thread()实现?
欢迎提供任何建议或建议。
谢谢!
然而,在一个特定的类中,有一个需要相当长时间处理的任务。该任务包含一个for循环,最多执行六次的某些计算。
我想到了在各自的线程中实现这六个计算中的每一个,以加快处理时间,但我不确定实现此目的的最佳方法。
是否可以同时扩展SwingWorker并实现Runnable,然后在for循环中使用void Run()方法,每次启动一个新线程,或使用cachedThreadPool。
还是最好只使用标准的Thread()实现?
欢迎提供任何建议或建议。
谢谢!