【发布时间】:2011-05-05 09:32:28
【问题描述】:
我遇到了this 的问题,我很好奇在什么实际情况下你会真正想要使用来自多个线程的堆栈,而不是 FIFO 队列或优先级队列。在我看来,LIFO 属性在跨多个线程使用时非常合适。除了最近放在那里的东西之外,你真的无法保证你从堆栈中得到了什么。这不会使堆栈/队列中的旧东西大大饿死吗?
【问题讨论】:
标签: multithreading data-structures
我遇到了this 的问题,我很好奇在什么实际情况下你会真正想要使用来自多个线程的堆栈,而不是 FIFO 队列或优先级队列。在我看来,LIFO 属性在跨多个线程使用时非常合适。除了最近放在那里的东西之外,你真的无法保证你从堆栈中得到了什么。这不会使堆栈/队列中的旧东西大大饿死吗?
【问题讨论】:
标签: multithreading data-structures
我可以想象,在对最近到达的工作做出响应被认为更有用的情况下,这可能会很有用。一种“高优先级中断”模型,在时间允许的情况下检查和处理较旧的项目。
我可以想象实现一个以这种方式工作的 Stack Overflow 声誉收集机器人。单线程输入将新问题的提要放到堆栈中——一个线程池弹出并快速响应最近的问题,如果还没有接受的答案并且通过新问题的到来没有更可行的声誉机会,则检查并回答较旧的问题。
【讨论】: