Для создаваемой мной программы требуется массив объектов потока. Более конкретно, у меня есть класс, который расширяет Thread. Я делаю это так, чтобы каждый созданный новый объект работал в своем потоке. Если я хочу убить поток и удалить его из элемента массива, чтобы я мог создать новый объект Thread в этом пространстве, как это сделать? Это моя мысль.Как удалить объект Thread из массива?
Я понимаю, что удаление ссылки на поток фактически не остановит поток. Для этого мне сначала нужно было бы прервать поток. Чтобы удалить объект потока из массива, могу ли я просто сделать его нулевым? I.e .:
array[i].interrupt();
array[i] = null;
И тогда я смог бы создать новую тему в этом пространстве?
array[i] = new Thread();
Предположим, что метод запуска объектов темы обрабатывает прерывания правильно и т.д.
Что мешает вам попробовать? Прерывание - это не то же самое, что останавливаться. – f1sh
Это должно работать, но чтобы остановить поток, прежде чем создавать новый, вы можете сделать массив [i] .join() перед установкой элемента в null. –
Можете ли вы поделиться своими требованиями, зачем вам нужен массив объектов потоков? – marknorkin