無限ループで実行されている 5 つのスレッドがあります。
そのうちの 2 つは、キューが空でない場合にメッセージを送信します。
そのうちの 4 つは 5 分以内にハートビートを送信し続けます。
そのうちの 1 つは、別のソースからデータを要求することです。
CPU を 100% 使用すると、そのウィンドウで他のアプリケーションを使用できなくなります。ウィンドウ全体が非常に遅くなります。
編集:WaitOneの後にスリープを置くことはできますか?
if(autoEvent.WaitOne())
{
}
else
{
}
Thread.Sleep(100);
ZeroMQ であるsubscriber.Recv()の後にスリープを置くことはできますか?
Recv() がない場合はすべてのスレッドをスリープ状態にしますが、client.Send のみを持つリアルタイム データフィード スレッドにあえてスリープ状態にしないスレッドが 1 つあります。スレッドが 1 つだけで 100% になりますか?