【发布时间】:2016-08-29 06:37:33
【问题描述】:
我有一个非常基本的问题,更多的是关于ConcurrentQueue 的概念。队列是先进先出的。当多个线程开始访问它时,我们如何保证 FIFO?
假设,我添加了Apple、Oranges、Lemon、Peach 和Apricot - 按此顺序。第一个TryTake 应该返回Apple。但是当多个线程开始发出自己的TryTake 请求时会发生什么?当一个线程可以返回Lemon 甚至在另一个线程可以返回Apple 之前,是否有可能?我假设其他项目也将被退回,直到队列为空。但这些回报是否会围绕先进先出的基本原则?
【问题讨论】:
标签: c# .net multithreading concurrent-queue