所以我有這個計算工作,這需要startng 6個線程,並等待這些完成。線程更改類中的「本地」變量。 一旦局部變量爲特定值,我想讓函數返回「真」。但是,我想以一種不掛斷線的方式來做到這一點。所以一個不變的「Do Loop」不會奏效。有沒有任何標準的方法來做到這一點?返回一次條件爲真如果沒有掛
Public Function Start(ByVal Cores As Integer) As Boolean
For i = 0 To 10
// Heavy work
Task.Factory.StartNew(Sub() Compute(Core, StartInt, EndInt))
Next
Do // <- How to avoid checking ThreadsTerimnated = ThreadsStarted every clockcycle?
// Threading.Sleep hangs thread.
If ThreadsTerminated = ThreadsStarted Then
MergeResults(Cores)
Return True
End If
Loop
End Function
你可能想知道,如果你需要暫停線程,但不掛了,你可以叫'等待Task.Delay( )'這將停止指定毫秒的處理而不阻塞那裏的線程。因爲你考慮暫停線程 – Fabulous