boost::asio::io_service
は、ハンドラがpost()
で与えられたのと同じ順序で呼び出されることを保証しますか?私はドキュメントでこれを言うものが見つかりません。 io_service::post
への呼び出しがシリアル化されているとします。boost :: asio :: io_serviceはハンドラの順序を保持しますか?
11
A
答えて
6
現在の実装では、ポストしたシーケンス内のものを実行しますが、順序付けは、strand
によって明示的にポストされたハンドラに対してのみ保証されます。
6
afaik post
ハンドラの実行を保証する場合は、strand
as described in the docsを使用する必要があります。
関連する問題
- 1. io_serviceの実行を維持しないブーストasioハンドラ
- 2. boost :: asio :: io_serviceが例外をスローする
- 3. boost :: asio :: io_service :: run_one()の使用方法
- 4. についてboost :: asio :: io_service :: run into multithread
- 5. boost :: asio :: io_serviceでメインのデータを取得します
- 6. stop()の後にboost :: asio :: io_serviceをクリアします。
- 7. boost :: asio :: io_service :: runから例外をキャッチできません
- 8. boost :: asio io_service :: run_oneはセグメンテーションフォールトにつながります
- 9. boost :: asio :: io_service - なぜポスト関数を使うのですか?
- 10. Boost Asio io_service、クライアントからのメッセージを読む
- 11. io_service-per-CPUでboost :: asio :: spawnを実行する方法は?
- 12. async_readを実行している間、boost :: asio :: io_service async_writeループ中に
- 13. boost :: property_tree :: read_xml boost :: asio :: spawnを使用して生成されたasioハンドラのsegfaults
- 14. 私がboost :: asio :: io_serive :: stop()を呼び出すと、boost :: asio :: io_service :: run()が終了しない
- 15. プラグイン間でboost :: asio :: io_serviceを共有する方法[modules]
- 16. 複数のリスニングソケットに同じboost :: asio :: io_serviceを使用できますか?
- 17. なぜboost :: asio :: io_service :: workを使用する必要がありますか?
- 18. boost :: asio :: strand && boost :: lockfree :: spsc_queue
- 19. boost :: asio :: async_readはハンドラ関数をコールバックしません
- 20. select()をboost :: asio :: io_serviceに置き換える
- 21. boost :: asio :: io_service占有タイマーとポストのキュー長
- 22. C++ Boost ASIOソケットエラー
- 23. boost asio unix socket reuse
- 24. PLINQはシーケンス内の元の順序を保持しますか?
- 25. Boost :: asio async_waitハンドラシグネチャ
- 26. Boost Asioでのポストキューサイズの設定制限?
- 27. TensorflowのQueueBase.enqueue_manyはスレッド間で順序を保持しますか?
- 28. 'array.map'は元の順序を保持していますか?
- 29. HashSetは列挙間の順序を保持しますか?
- 30. Hibernate HQL Selectはテーブルの順序を保持しますか?
Boost.Asioを使用している場合は、間違いなく控えめです。難しい問題を解決するためのスマートなアプローチです。 –