Как удалить мертвые темы из контейнера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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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