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.

  

相关文章:

  • 2022-12-23
  • 2021-10-20
  • 2022-12-23
  • 2021-09-20
  • 2022-12-23
  • 2022-02-03
  • 2021-11-10
  • 2022-12-23
猜你喜欢
  • 2022-01-26
  • 2022-12-23
  • 2022-12-23
  • 2021-12-21
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案