Oct. 13th, 2020

netch80: (Default)
Всякие cv.notify() пробуждают одного ждущего. Всегда есть вариант notifyAll(), это понятно. Иногда есть вариант одним вызовом пробудить нескольких, это не очень понятно (ну разве что для случая одновременного добавления толстой пачки заданий в очередь). Но не видно другого: где-то важно пробуждение в FIFO порядке, а где-то полезнее в LIFO (особенно во всяких пулах нитей, когда лучше передать новую задачу самой последней из завершившихся - её состояние ещё закэшировано, и всё такое).

Ожидаю увидеть интерфейс типа:

notifyFirst(count = 1)
notifyLast(count = 1)
notifyAll()

но нигде такого не видел. Почему?

Profile

netch80: (Default)
netch80

April 2026

S M T W T F S
   12 34
567891011
12131415161718
19202122232425
2627282930  

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 5th, 2026 03:28 am
Powered by Dreamwidth Studios