У меня есть приложение Java, которое позволяет пользователю выбирать несколько устройств в диапазоне от 5 до 500. После того, как пользователь нажимает кнопку запуска, а программа создает поток, который представляет каждое устройство.Пул потоков Java и время выполнения
ExecutorService pool = Executors.newFixedThreadPool(jSlider1.getValue());
Upload[] threads = new Upload[jSlider1.getValue()];
for (int i=0; i < jSlider1.getValue(); i++)
{
ThreadListComboBox.addItem("Number "+i);
threads[i] = new Upload("Squeak"+i, this.OutputDisplay);
}
for (int c=0; c < threads.length; c++)
{
pool.submit(threads[c]);
}
Это прекрасно работает, так что я могу начать много потоков во время выполнения таким образом, проблема заключается в управлении ими. Один из параметров пользователя - разрешить (через графический интерфейс пользователя из combobox) убить определенные устройства/потоки.
Возможно ли использовать пул, чтобы выбрать один поток и убить его? Если это не лучший способ достичь этого?
Большое спасибо.
Я думаю, вам нужно создать свой собственный [пул] (http://www.codeproject.com/Articles/616109/Java-Thread-Tutorial#trpool) –