Как удалить мертвые темы из контейнераJAVA

Программисты JAVA общаются здесь
Anonymous
Как удалить мертвые темы из контейнера

Сообщение Anonymous »

Я храню темы в контейнере. Со временем некоторые из этих потоков будут работать, а некоторые перестанут работать. Чего я хочу добиться: автоматически (или периодически) удалять мертвые (остановленные) потоки из контейнера.
Как лучше всего это сделать?
Изменить: я храню свои темы в простом связанном списке:
LinkedList threadPool = new LinkedList();

Этот контейнер должен быть динамическим, потому что со временем мне придется добавлять (и, очевидно, удалять) потоки.
EDIT2: Вот как я в настоящее время управляю потоками. Как видите, я жду входящих соединений, не знаю, когда они придут, но когда они придут, мне придется обрабатывать их в новом потоке.
while (!interrupted()) {
try {
Socket clientSocket = serverSocket.accept();
if (portNumber == Server.SMTP_PORT_NUMBER) {
threadPool.add(new SMTPThread(clientSocket, db));
threadPool.getLast().setName("SMTP Thread " + ++threadCounter);
} else {
threadPool.add(new POP3Thread(clientSocket, db));
threadPool.getLast().setName("POP3 Thread " + ++threadCounter);
}
threadPool.get(threadPool.size() - 1).start();

} catch (SocketTimeoutException e) {
} catch (IOException ioe) {
}
}


Подробнее здесь: https://stackoverflow.com/questions/107 ... -container

Вернуться в «JAVA»