本文整理汇总了VB.NET中System.Collections.Concurrent.ConcurrentQueue<T>类的典型用法代码示例。如果您正苦于以下问题:VB.NET ConcurrentQueue<T>类的具体用法?VB.NET ConcurrentQueue<T>怎么用?VB.NET ConcurrentQueue<T>使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ConcurrentQueue<T>类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的VB.NET代码示例。
示例1: TestQueue
' 导入命名空间
Imports System.Collections.Concurrent
Imports System.Threading
Imports System.Threading.Tasks
Class TestQueue
' Demonstrates:
' ConcurrentQueue<T>.Enqueue()
' ConcurrentQueue<T>.TryPeek()
' ConcurrentQueue<T>.TryDequeue()
Shared Sub Main()
' Construct a ConcurrentQueue
Dim cq As New ConcurrentQueue(Of Integer)()
' Populate the queue
For i As Integer = 0 To 9999
cq.Enqueue(i)
Next
' Peek at the first element
Dim result As Integer
If Not cq.TryPeek(result) Then
Console.WriteLine("CQ: TryPeek failed when it should have succeeded")
ElseIf result <> 0 Then
Console.WriteLine("CQ: Expected TryPeek result of 0, got {0}", result)
End If
Dim outerSum As Integer = 0
' An action to consume the ConcurrentQueue
Dim action As Action =
Sub()
Dim localSum As Integer = 0
Dim localValue As Integer
While cq.TryDequeue(localValue)
localSum += localValue
End While
Interlocked.Add(outerSum, localSum)
End Sub
' Start 4 concurrent consuming actions
Parallel.Invoke(action, action, action, action)
Console.WriteLine("outerSum = {0}, should be 49995000", outerSum)
End Sub
End Class