次の効果を作成しようとしています。
同時に実行しているスレッドの数があり、タイマーがオフになったときにすべてを停止したい。
私が考えられる唯一のことは、時間切れになると変化するブール値を共有することです。スレッド タイマーと AutoResetEvent を使用してこれを行う方法を知っている人はいますか?
Autoreset イベントの使用方法を見つけるのに苦労しています...
この効果を達成するためのより良い方法を知っていますか?
プロセスについてはどうですか?
次の効果を作成しようとしています。
同時に実行しているスレッドの数があり、タイマーがオフになったときにすべてを停止したい。
私が考えられる唯一のことは、時間切れになると変化するブール値を共有することです。スレッド タイマーと AutoResetEvent を使用してこれを行う方法を知っている人はいますか?
Autoreset イベントの使用方法を見つけるのに苦労しています...
この効果を達成するためのより良い方法を知っていますか?
プロセスについてはどうですか?
ブール値を共有するのではなく、ManualResetEventを使用して、各スレッドを待機させます。
private static void ThreadDelegate(object state)
{
object[] stateArray = (object[])state;
ManualResetEvent resetEvent = (ManualResetEvent)stateArray[0];
//Do some work.
...
resetEvent.WaitOne();
}
これは、あなたが呼び出すまでスレッドをブロックしますresetEvent.Set();
。これに対する最良の答えは、コードの構造に本当に依存すると思います。私が提案したことは、ある間隔でコールバックを//Do some work
作成して呼び出すなどのビットの実行に依存します。Timer