2010-11-05 66 views
4

我遇到了this问题,并且对于真正想要使用来自多个线程的堆栈的现实生活情况感到好奇,而不是先入先出队列或优先队列。对于我来说,在多个线程中使用LIFO属性是非常合适的。除了最近放在那里的东西,你真的不能保证你从堆叠中得到什么。这难道不会在堆栈/队列中大大耗尽旧的东西吗?您何时想要使用线程安全堆栈?

回答

2

我可以想象,在对最近抵达的工作做出回应被认为更有用的情况下,这可能是有用的。一种'高优先级中断'模式,随着时间允许,旧的项目将被检查和处理。

我可以想象实现一个Stack Overflow声誉收集机器人,可以这样工作。单线程输入将新问题反馈到堆栈上 - 线程池弹出并快速响应最近的问题,并检查并回答较旧的问题(如果尚未具有可接受的答案并且没有通过新问题到来的更可行的信誉机会)。