我有 Java 应用程序,允许用户在 5 到 500 之间选择多个设备。一旦选择,用户单击开始,程序会创建一个代表每个设备的线程。
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]);
}
这很好用,因为我可以通过这种方式在运行时启动大量线程,我遇到的问题是管理它们。用户选项之一是允许(通过组合框中的 GUI)杀死特定的设备/线程。
是否可以使用池来选择单个线程并杀死它?如果不是,实现这一目标的最佳方法是什么?
非常感谢。