私はこの計算ジョブを持っているので、6つのスレッドをstartngする必要があり、それらが終了するのを待っています。スレッドは、クラス内の「ローカル」変数を変更します。 ローカル変数が特定の値になったら、関数を "True"に戻したいと思います。しかし、スレッドをハングしないような方法でこれを実行したいと思います。したがって、一定の "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
を使用することができます) 'これは指定されたミリ秒間スレッドをブロックせずに処理を停止します。スレッドを一時停止することを検討していたので、これをFYIとして含めました。 – Fabulous