Imports System.Threading
Public Class MainClass
Shared Dim A As Thread = New Thread(AddressOf MethodA)
Shared Dim B As Thread = New Thread(AddressOf MethodB)
Shared Dim C As Thread = New Thread(AddressOf MethodC)
Public Shared Sub Main()
A.Name = "A"
A.Start()
B.Name = "B"
B.Start()
C.Name = "C"
C.Start()
Dim List As System.Diagnostics.ProcessThreadCollection
List = System.Diagnostics.Process.GetCurrentProcess().Threads()
Dim objThread As System.Diagnostics.ProcessThread
Console.WriteLine()
For Each objThread In List
Console.Write("Thread: {0:D5}", objThread.Id)
Console.Write(" Start: {0}", objThread.StartTime)
Console.WriteLine(" CPU Time: {0}", objThread.TotalProcessorTime)
Console.Write(" State: {0}", objThread.ThreadState)
If (objThread.ThreadState = System.Diagnostics.ThreadState.Wait) Then
Console.Write("Reason: {0}", objThread.WaitReason())
End If
Console.WriteLine(" Address: {0}", objThread.StartAddress())
Console.WriteLine()
Next
End Sub
Shared Sub MethodA()
Dim I As Integer
B.Join()
For I = 0 To 250
System.Console.Write("A")
Next
End Sub
Shared Sub MethodB()
Dim I As Integer
For I = 0 To 250
System.Console.Write("B")
Next
End Sub
Shared Sub MethodC()
Dim I As Integer
For I = 0 To 250
System.Console.Write("C")
Next
End Sub
End Class