我正在创建的程序需要一个线程对象数组。更具体地说,我有一个扩展线程的类。我这样做是为了让每个新创建的对象都在自己的线程上运行。如果我想杀死线程并将其从数组元素中移除,那么我可以在该空间中创建一个新的线程对象,那么我该怎么做?这是我的想法。如何从数组中删除线程对象?
我明白,删除对线程的引用并不会实际上停止线程。要做到这一点,我首先需要中断线程。要从数组中删除线程对象,我可以简单地将它设置为空吗? I .: .:
array[i].interrupt();
array[i] = null;
然后,我将能够在该空间中创建一个新的线程?
array[i] = new Thread();
假设Thread对象的run方法处理中断正常等
什么阻止你尝试?中断与停止不同。 – f1sh
这应该可行,但要确保线程在创建新线程之前已停止,可以在将元素设置为null之前执行array [i] .join()。 –
你可以分享你的需求,为什么你需要一个线程对象数组? – marknorkin