ConcurrentQueue<T> TryDequeue Method
ConcurrentQueue<T> 类中的出队列方法:
1.TryDequeue (out T result)
MSDN:Tries to remove and return the object at the beginning of the concurrent queue.
该方法用于在并发队列的开始时移除和返回队列中的对象。
代码
public bool TryDequeue( out T result )
移除对象元素成功,返回true,否则返回false。
result 为从队列中出队的对象。
注意,MSDN上说如果当时使用入队的方式,压入三个对象 a,b,c,当有两个线程去访问这个方法TryDequeue让对象a,b,c依次进行出队列,
那么假设线程1让a 出队,线程2让b出队,之后线程1又让c出队,因为有三个对象在队列中,所以该方法都能返回true,但是线程2并不会阻塞,
依然会继续执行TryDequeue方法进行出队列操作,然而队列已经为空,故此时方法将会返回false.