'under Public Class Form1
Private Shared KeepRunning As Boolean
'Settings
Private Shared Threads As Integer = 9
Private Shared ClosedThreads As Integer = 0
'under Start button
KeepRunning = True
For i As Integer = 0 to Threads
Dim t As New Thread(AddressOf StartThread) With {.IsBackground = True}
t.Start
Next
'add this sub
Private Sub StartThread
Dim loops As Integer
While KeepRunning
loops += 1
Debug.Print($"Running some function in thread ID: {Thread.CurrentThread.ManagedThreadId}, loops: {loops}")
Thread.Sleep(10000)'Pause this thread for 10 secs.
End While
Debug.Print($"Leaving thread (ID={Thread.CurrentThread.ManagedThreadId}), loops: {loops}")
If Interlocked.Increment(ClosedThreads) > Threads
ClosedThreads = 0
Debug.Print("All threads have exited.")
End If
End Sub
'under Stop button
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
KeepRunning = False
End Sub
Comments