1

重複の可能性:
眠っているスレッドを起こす方法はありますか?

C# .net で Windows フォーム アプリケーションを使用しています。名前付きパイプを使用して C++ アプリケーションと通信しています。通信部分は正常に動作しています。フォーム読み込みイベントで、2 つのバックグラウンド スレッドを開始します。そのうちの 1 つは受信用です。受信スレッドが無限 while ループになっています。読み取るデータがない場合はスリープし、データが到着すると、それを読み取り、メッセージキュー (グローバルに作成された) にプッシュします。フォームが読み込まれたときに作成したものを使用して、メッセージ キューを読み取り、UI を更新したいと考えています。私が望むのは、2 番目のスレッドが作成されるとすぐに無限にスリープ状態になり、読み取りスレッドが 4 つ以上のメッセージを読み取ったときに、スリープ状態のスレッドをウェイクアップする何らかのシグナルを生成することです。

4

1 に答える 1

0

You should wait on a ManualResetEvent or AutoResetEvent instead of sleeping.

于 2012-12-12T11:17:01.107 に答える