実行中の asio サービスは、スレッドが順次実行されるタスクを投稿するために使用できるキューのようなものだと理解しています。ただし、どのキューもそうであるように、制限があると思います。asio サービスにこの制限を設定することは可能ですか? キューがいっぱいになったときにどのポリシーに従うかを設定することはできますか (つまり、ブロック、非ブロックなど)?
アップデート
asio::service を実行するスレッドと、このスレッドに 10ms ごとにタスクを投稿するタイマーがあるとします。タスクの受信は、スレッドを 100 ミリ秒スリープ状態にするメソッド呼び出しにバインドされます。したがって、毎秒 10 個のタスクを実行できるスレッドに、毎秒 100 個のタスクをポストするタイマーがあります。この状況が分岐することは明らかです。ただし、キューを処理する場合、通常、キューの深さ (100? 1000? エンキューされた投稿など) を測定したり、キューがいっぱいになったときに送信者が従うべきポリシー (つまり、待機するかドロップするか) を指定する手段があります。要求して続行しますか?)。私の質問は、これらの機能を asio::service に設定する方法です。