Two threads with SyncLock
Imports System
Imports System.Drawing
Imports System.Threading
Imports System.Windows.Forms
Imports System.IO
public class MainClass
Shared counter As Integer
Shared locker As Object = New Object()
Shared Sub Main()
Dim aThread As Thread = New Thread(AddressOf Calculate)
Dim bThread As Thread = New Thread(AddressOf Calculate)
aThread.Start()
bThread.Start()
End Sub
Shared Sub Calculate()
Console.WriteLine("Thread " & Thread.CurrentThread.GetHashCode & " woke up. Counter=" & counter)
SyncLock locker
Console.WriteLine("In Locker")
Console.WriteLine("1")
Console.WriteLine("2")
Dim i As Integer = 0
Dim j As Integer = 0
For i = 0 To 10000
For j = 0 To 10000
Next j
Next i
Console.WriteLine("3")
Console.WriteLine("4")
Console.WriteLine("5")
End SyncLock
Console.WriteLine("Out Locker")
Console.WriteLine("Thread " & Thread.CurrentThread.GetHashCode & " woke up. Counter=" & counter)
End Sub
End Class
Related examples in the same category