Imports System
Imports System.Threading
Imports System.Text
Imports System.Windows.Forms
Public Class MainClass
Public Shared Sub Main()
Dim myHouse As New House()
End Sub
End Class
Public Class House
Dim house As String = New String("Lock")
Public Sub New()
Dim aThreadStart As Threading.ThreadStart
Dim aThread As Thread
Dim i As Integer
For i = 0 To 10
aThreadStart = New ThreadStart(AddressOf ChangeTemperature)
aThread = New Thread(aThreadStart)
aThread.Name = CStr(i) & "'th room"
aThread.Start()
Next
End Sub
Private Sub ChangeTemperature()
SyncLock (house)
Console.WriteLine("Checking 1")
Console.WriteLine("Checking 2")
Console.WriteLine("Checking 3")
Try
Thread.Sleep(1000)
Catch E As ThreadInterruptedException
'thread ended
End Try
Console.WriteLine("Checking 4")
Console.WriteLine("Checking 5")
Console.WriteLine("Checking 6")
Console.WriteLine("Checking 7")
Console.WriteLine("Checking 8")
Console.WriteLine("Checking 9")
Console.WriteLine("Checking 10")
End SyncLock
End Sub
End Class