Mega Code Archive

 
Categories / VB.Net / Thread
 

Shows multiple threads that print at different intervals

Imports System Imports System.Threading Public Class MainClass    Shared Sub Main()       Dim printer1 As New Messager()       Dim printer2 As New Messager()       Dim printer3 As New Messager()       Dim thread1 As New Thread(AddressOf printer1.Print)       Dim thread2 As New Thread(AddressOf printer2.Print)       Dim thread3 As New Thread(AddressOf printer3.Print)       thread1.Name = "thread1"       thread2.Name = "thread2"       thread3.Name = "thread3"       Console.WriteLine("Starting threads")       thread1.Start()       thread2.Start()       thread3.Start()       Console.WriteLine("Threads started" & vbCrLf)    End Sub ' Main End Class Public Class Messager    Private sleepTime As Integer    Private Shared randomObject As New Random()    Public Sub New()       sleepTime = randomObject.Next(5001)    End Sub ' New    Public Sub Print()       Dim current As Thread = Thread.CurrentThread       Console.WriteLine(current.Name & " going to sleep for " & _          sleepTime)       Thread.Sleep(sleepTime)       Console.WriteLine(current.Name & " done sleeping")    End Sub ' Print End Class