vb.net 多线程与SyncLock锁

Option Explicit On
Option Strict On
Imports System.Threading

Public Class Printer
' Lock token.锁标记
Private threadLock As Object = New Object()

Public Sub PrintNumbers()
SyncLock threadLock
Console.WriteLine("-> {0} is executing PrintNumbers()",_
Thread.CurrentThread.Name)
Console.Write("Your numbers: ")
For i As Integer = 0 To 10
Dim r As Random = New Random()
Thread.Sleep(100 * r.Next(5))
Console.Write(i & ",")
Next
Console.WriteLine()
End SyncLock
End Sub
End Class
#End Region

Module Program
Sub Main()
Console.WriteLine("***** Synchronizing Threads *****")
Console.WriteLine()

Dim p As Printer = New Printer()

' Make 11 threads that are all pointing to the same
' method on the same object.
Dim threads(10) As Thread
For i As Integer = 0 To 10
threads(i) = New Thread(AddressOf p.PrintNumbers)
threads(i).Name = String.Format("Worker thread #{0}",i)
Next

' Now start each one. For Each t As Thread In threads t.Start() Next Console.ReadLine() End SubEnd Module

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...