Java Swingworker и несколько потоков

Я занимаюсь разработкой приложения на основе графического интерфейса пользователя Java, которое выполняет ряд отдельных задач, каждая из которых находится в своем собственном расширенном классе SwingWorker. - это нормальный дизайн, который я использую для выполнения задач в их собственных потоках и при этом оставляю EDT свободным для обновления графического интерфейса.Каждый SwingWorker запускается в своем собственном потоке с использованием Executors.newCachedThreadPool.

Однако внутри одного конкретного класса есть задача, для выполнения которой требуется довольно много времени. Задача содержит цикл for, который выполняет некоторые вычисления до шести раз.

У меня была мысль реализовать каждое из шести вычислений в их собственном потоке, чтобы ускорить время обработки, но я не уверен, как это лучше всего реализовать.

Можно ли одновременно расширить SwingWorker и реализовать Runnable, а затем использовать метод void Run () в цикле for, каждый раз запускать новый поток, или используя cachedThreadPool.

Или мне лучше просто использовать стандартную реализацию Thread ()?

Мы будем благодарны за любые советы или предложения.

Заранее спасибо

Джош

7
задан mKorbel 10 February 2012 в 08:06
поделиться