私はそれがすべてのスレッドを開始した後、メインスレッドは現在、無限ループに入りプロセスを実行し続けるには?
いくつかのものを行う複数のスレッドを起動するプロセスを持って、いくつかのポートに耳を傾けるなど:
それはのようなものです:
int main()
{
//start threads
while (true)
{
sleep(1000);
}
}
sleep
は、メインスレッドがプロセッサを食べないことを保証します。
この方法は問題ありませんか?プロセスがどのように維持されているかについて業界標準がありますか?ありがとう。
EDIT:いくつかの明確化:
- スレッドは、リスナーあるので
join
またはWaitForSingleObject
はオプションではありません。通常ここではjoinを使うことができますが、スレッドは第3のクライアントライブラリによって起動され、スレッドを制御することはできません。 - メインスレッドで何らかの処理を行うことは、設計上の観点からは意味をなさない。
メインループから抜け出す方法が必要ですか? – Nick
スレッドに参加できないのはなぜですか?ほかのすべてのスレッドが完了する前にメインスレッドを終了したくないだけです。すべてのtidsでjoinを呼び出すだけでそれが可能です。 – Stan
すべてのダウン投票ではどうなっているのですか? – Nick