Когда именно вы захотите использовать потокобезопасный стек? - PullRequest
4 голосов
/ 05 ноября 2010

Я сталкивался с этим вопросом, и мне было любопытно, в каких реальных ситуациях вы бы хотели использовать стек из нескольких потоков, в отличие от очереди FIFO или очереди с приоритетами.Мне просто кажется очень противоречивым, что свойство LIFO всегда уместно при использовании в нескольких потоках.У вас действительно не было бы никаких гарантий относительно того, что вы получаете из стека, кроме того, что было помещено туда довольно недавно.Разве это не приведет к тому, что старые вещи в стеке / очереди будут сильно голодать?

1 Ответ

2 голосов
/ 05 ноября 2010

Я могу себе представить, что это может быть полезно в ситуации, когда реагирование на недавно поступившую работу было сочтено более полезным. Вид модели «высокоприоритетного прерывания», с более старыми элементами, которые нужно исследовать и обрабатывать, если позволяет время.

Я могу себе представить, как будет работать бот для сбора репутации Stack Overflow, который бы работал таким образом. Однопоточный ввод переносит новые вопросы в стек - пул потоков всплывает и быстро отвечает на последние, а также проверяет и отвечает на более старые вопросы, если у них еще нет принятого ответа и нет более жизнеспособных возможностей репутации через поступающие новые вопросы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...