|
producer / consumer через blocking queue
|
|||
---|---|---|---|
#18+
всем привет! Хороший паттерн, я имею ввиду consumer/producer. Как реализовать через BlockingQueue тоже ясно. Но! Как бы так сделать, чтобы consumer не висел без дела, когда очередь пуста, а попадал бы обратно в пул (у меня javaee окружение). А как только очередная задача попадает в queue, поток consumer брался бы из пула и за дело! Не подскажете? Ну жалко мне, чтобы поток консьюмера спал. Возможны ситуации, что очередь долго будет пуста. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2019, 22:09 |
|
producer / consumer через blocking queue
|
|||
---|---|---|---|
#18+
или другими словами, мне бы нужен некий "сервисный" поток, который всегда был бы готов принять таску на выполнение (очередь тасок), но при этом, когда тасок нет, чтобы этот поток попадал бы в пул потоков обратно. Причём хотелось бы чтобы такой "сервисный" поток был бы именно один (чтобы не было ситуации, когда несколько потоков берутся за работу) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2019, 22:18 |
|
|
start [/forum/topic.php?fid=59&fpage=31&tid=2121434]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
30ms |
get topic data: |
9ms |
get forum data: |
1ms |
get page messages: |
35ms |
get tp. blocked users: |
2ms |
others: | 318ms |
total: | 417ms |
0 / 0 |