16,554
社区成员
发帖
与我相关
我的任务
分享
Private Sub ThreadsEnd()'每个线程结束都要首先到达这里,以控制同一组数据分析同时开始(处理过程没有同步要求)
If Th0EndFlag AndAlso Th1EndFlag AndAlso Th2EndFlag AndAlso Th3EndFlag Then
'这里判断哪一组计算完成,并把已完成的组做上标记(代码略)
ConventionCalculate() '调用线程控制
End If
End Sub
Private Sub ConventionCalculate()'所有线程都在这里控制
If Not RedOneEnd AndAlso RedOneUsed Then ’线程控制——处理第1组数据
th0 = New Thread(AddressOf OneCode)
th0.Start()
th1 = New Thread(AddressOf OneCode1)
th1.Start()
th2 = New Thread(AddressOf OneCode2)
th2.Start()
th3 = New Thread(AddressOf OneCode3)
th3.Start()
ElseIf Not RedTwoEnd AndAlso RedTwoUsed Then’线程控制——处理第2组数据
th0 = New Thread(AddressOf TwoCode)
th0.Start()
th1 = New Thread(AddressOf TwoCode1)
th1.Start()
th2 = New Thread(AddressOf TwoCode2)
th2.Start()
th3 = New Thread(AddressOf TwoCode3)
th3.Start()
'代码类似——略
ElseIf Not RedTenEnd AndAlso RedTenUsed Then’线程控制——处理第10组数据
th0 = New Thread(AddressOf TenCode)
th0.Start()
th1 = New Thread(AddressOf TenCode1)
th1.Start()
th2 = New Thread(AddressOf TenCode2)
th2.Start()
th3 = New Thread(AddressOf TenCode3)
th3.Start()
Else
'所有需要处理的数据全部完成,进行内存清理等。
End If
End Sub