110,538
社区成员
发帖
与我相关
我的任务
分享
Imports System.Threading
Imports System.Threading.Tasks
Public Class Form1
Dim bStop1 As Boolean = False
Dim bStop2 As Boolean = False
Dim bStop3 As Boolean = False
Dim bStop4 As Boolean = False
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim tt As New List(Of Task)
bStop1 = False : bStop2 = False : bStop3 = False : bStop4 = False
For i = 0 To 1
Dim ta = Task.Factory.StartNew(Sub()
Do
Task.Factory.StartNew(Sub()
Do
Task.Factory.StartNew(Sub()
Do
Task.Factory.StartNew(Sub()
Do
Me.Invoke(Sub() Me.Label5.Text = "4|" & Now.Millisecond)
Thread.Sleep(100)
Loop Until bStop4
End Sub, TaskCreationOptions.AttachedToParent)
Me.Invoke(Sub() Me.Label4.Text = "3|" & Now.Millisecond)
Thread.Sleep(100)
Loop Until bStop3
End Sub, TaskCreationOptions.AttachedToParent)
Me.Invoke(Sub() Me.Label3.Text = "2|" & Now.Millisecond)
Thread.Sleep(100)
Loop Until bStop2
End Sub, TaskCreationOptions.AttachedToParent)
Me.Invoke(Sub() Me.Label2.Text = "1|" & Now.Millisecond)
Thread.Sleep(100)
Loop Until bStop1
End Sub)
tt.Add(ta)
Next
Task.Factory.StartNew(Sub() Task.WaitAll(tt.ToArray)).ContinueWith(Sub() MsgBox("OK"))
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
bStop1 = True
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
bStop2 = True
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
bStop3 = True
End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
bStop4 = True
End Sub
End Class