0
Windowsフォーム上にxという変数の値を読み取るボタンがある場合、このシナリオを想像してみてください。WaitOneが呼び出された直後にManualResetEventをリセットする
//this function runs by a thread
void newData()
{
manualReset.WaitOne();
//clear x
//put new data in it
}
private void btRead_Click(object sender, EventArgs e)
{
manualReset.Reset();
//read x
ManualReset.Set();
}
を今すぐスレッドがライン」を実行したとき、私は時間だけでボタンをクリックした場合:一方の変数とすることで、新たなデータを置くことをクリアします(タイマーを使用して)たまに実行するスレッドがありますwaitOne() "が成功したため、今回はメインUIスレッドでデータを読み取ろうとしている間にスレッドがデータをクリアするため、今回はリセットされません。それで解決策は何ですか?事前のおかげで
ロックを使用するのはどうですか? – MistyK