Я пытаюсь понять концепцию пулов потоков в Java. Для этого я читаю различные учебные пособия, включая этот.There is a performance overhead associated with starting a new thread,
and each thread is also allocated some memory for its stack etc.
< /code>
Тем не менее, код, перечисленный там, означает, что поток умрет после окончания выполнения запускаемой отстранения от очереди задач, и, таким образом, его ресурс будет использован и мусор, собранный JVM: < /p>
public void run(){
while(!isStopped()){
try{
Runnable runnable = (Runnable) taskQueue.dequeue();
runnable.run();
} catch(Exception e){
//log or otherwise report exception,
//but keep pool thread alive.
}
}
}
< /code>
Итак, если поток умирает, какова цель всего этого? Я думал, что нить в пуле ниток должна быть аналогична тупике и должна спать и просыпаться, когда пройдет бегство, и когда это делается с беглевым, возвращается ко сну , не будучи разрушенным , так что ресурс может быть повторно использован - не собранный мусор . Или это просто упрощенный пример, который я оценил?
Подробнее здесь: https://stackoverflow.com/questions/241 ... ol-purpose
Ява пул пула ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение