私のプロジェクトは、UDPによって受信されたコマンドをキューに保存するジョブサーバです。すべてのコマンドには、実行する間隔値と、削除するタイムアウト値があります。これらのアクションは、2つのプロセスのように、サーバーコードとは独立して動作するタイマーによって制御されます。ソケットとタイマーを互いにブロッキングせずに使用する方法は?
サーバとタイマーをお互いにブロックすることなく動作させるにはどうすればよいですか?私はスレッドや非同期呼び出しについて考えていますが、私はC++には新しく、これらのアイデアを自分のコードにどのように適用するのか分かりません。
私は、Visual C++ 2010とASIOをBoost 1.48から使用しています。
ありがとうございます!
スレッド化は1つの解決策ですが、タイミングイベントの処理に時間がかからないようにするには、単一のメインループとシグナルハンドラを使用してすべてのスレッドを1つのスレッドで実行できます。シングルスレッドプログラミングははるかに簡単で、オプションを検討する価値があります。 –