У меня есть исполнитель, который отвечает за потребление сообщений из Arrayblockingqueue. < /p>
new ThreadPoolExecutor(1, 1, 0L,
TimeUnit.MILLISECONDS,
new LinkedBlockingQueue(1),
r -> {
return new Thread(r, "Request-Queue-Drainer");
});
< /code>
Поток запроса-queue-rainer находится в состоянии ожидания (хотя задачи отправляются в этот поток). Ниже приводится резьба. < /p>
Name: Request-Queue-Drainer
State: WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@5b4757a2
Total blocked: 0 Total waited: 8
Stack trace:
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)
< /code>
Что может быть причиной того, что поток будет в статусе ожидания?
Подробнее здесь: https://stackoverflow.com/questions/379 ... nt-threadp
Что может быть причиной того, что нить будет припарковаться на java.util.concurrent.threadpoolexecutor.gettask ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
В чем может быть причина парковки потока в java.util.concurrent.ThreadPoolExecutor.getTask?
Anonymous » » в форуме JAVA - 0 Ответы
- 7 Просмотры
-
Последнее сообщение Anonymous
-