Multithreading 您希望何时使用线程安全堆栈?

Multithreading 您希望何时使用线程安全堆栈?,multithreading,data-structures,Multithreading,Data Structures,我遇到了这个问题,并且很好奇在什么样的现实情况下,您会真正希望使用来自多个线程的堆栈,而不是FIFO队列或优先级队列。在我看来,LIFO属性在跨多个线程使用时总是合适的,这似乎与直觉相反。你真的不能保证你从堆栈中得到了什么,除了最近放在那里的东西。这会不会使堆栈/队列中的旧东西变得非常匮乏?我可以想象,在响应最近到达的工作被认为更有用的情况下,这可能会很有用。一种“高优先级中断”模型,在时间允许的情况下检查和处理旧项目 我可以想象实现一个堆栈溢出信誉收集机器人会以这种方式工作。单线程输入将新问题

我遇到了这个问题,并且很好奇在什么样的现实情况下,您会真正希望使用来自多个线程的堆栈,而不是FIFO队列或优先级队列。在我看来,LIFO属性在跨多个线程使用时总是合适的,这似乎与直觉相反。你真的不能保证你从堆栈中得到了什么,除了最近放在那里的东西。这会不会使堆栈/队列中的旧东西变得非常匮乏?

我可以想象,在响应最近到达的工作被认为更有用的情况下,这可能会很有用。一种“高优先级中断”模型,在时间允许的情况下检查和处理旧项目

我可以想象实现一个堆栈溢出信誉收集机器人会以这种方式工作。单线程输入将新问题反馈到一个堆栈上-线程池弹出并快速响应最近的问题,如果还没有一个可接受的答案,也没有通过新问题获得更多可行的声誉机会,则检查并回答旧问题