C#之TryDequeue

阅读: 评论:0

C#之TryDequeue

C#之TryDequeue

ConcurrentQueue<T>.TryDequeue(T) 方法

定义

命名空间:

System.Collections.Concurrent

程序集:

System.Collections.Concurrent.dll, mscorlib.dll, netstandard.dll

尝试移除并返回并发队列开头处的对象。

C#

public bool TryDequeue (out T result);

参数

result

T

如果操作成功,则此方法返回时,result 包含所移除的对象。 如果没有可供移除的对象,则不指定该值。

返回

Boolean

如果成功在 true 开头处移除并返回了元素,则为 ConcurrentQueue<T>;否则为 false

注解

ConcurrentQueue<T> 在内部处理所有同步。 如果两个线程正好在同一时间调用 TryDequeue,则不会阻止任一操作。 如果在两个线程之间检测到冲突,则一个线程必须再次尝试检索下一元素,并且将内部处理同步。

TryDequeue 尝试从队列中删除元素。 如果此方法成功,则将删除该项,并且此方法将返回 true;否则将返回 false。 对于队列中的其他操作而言,这将以原子方式发生。 如果队列是使用代码(如 q.Enqueue("a"); q.Enqueue("b"); q.Enqueue("c");)填充的,并且两个线程同时尝试取消元素排队,则一个线程将取消 a 排队,而另一个线程将取消 b 排队。 对 TryDequeue 的两个调用均将返回 true,因为它们都能取消元素排队。 如果每个线程都返回取消附加元素排队,则一个线程将取消 c 排队并返回 true,而另一个线程将发现队列为空并返回 false

适用于

.NET Core

3.1 3.0 2.2 2.1 2.0 1.1 1.0

.NET Framework

4.8 4.7.2 4.7.1 4.7 4.6.2 4.6.1 4.6 4.5.2 4.5.1 4.5 4.0

.NET Standard

2.1 2.0 1.6 1.4 1.3 1.2 1.1

UWP

10.0

Xamarin.Android

7.1

Xamarin.iOS

10.8

Xamarin.Mac

3.0

另请参阅

  • 线程安全集合

本文发布于:2024-01-31 04:51:55,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170664791825652.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:TryDequeue
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23