I wouldn't use abort. This illustrates how I would do it.
Code:Public Class Form1 Dim myThreads As New List(Of Threading.Thread) Dim isRun As Boolean = False Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click 'start threads isRun = True For i As Integer = 1 To 4 Dim t As New Threading.Thread(AddressOf check) t.IsBackground = True t.Name = i.ToString myThreads.Add(t) t.Start() Next Debug.WriteLine("Started") End Sub Private Sub check() Do While isRun 'simulate check Threading.Thread.Sleep(100) Loop End Sub Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click 'stop threads isRun = False 'tell threads to stop For Each t As Threading.Thread In myThreads t.Join() Next Debug.WriteLine("Ended") End Sub End Class




Reply With Quote