我在另一個線程中調用boost :: asio :: serial_port :: async_write_some()和asio :: io_service :: run()。有一個回調給「async_write_some」。我可以放心地假設,這個回調將最終被調用(可能帶有一些錯誤代碼)?在什麼情況下它不是真的?是否保證boost :: asio中的async_ *的處理程序總是會被調用?
1
A
回答
4
我可以安全地假設,這個回調將最終被調用(可能帶有一些錯誤代碼)嗎?
我認爲沒有。
在什麼情況下它不是真的?
在發送數據之前調用io_service :: stop方法。
2
只要io_service運行,完成處理程序將保證在異步操作完成後(無論是否成功)調用。
相關問題
- 1. boost :: asio socket async_ * strand
- 2. boost :: asio :: io_service是否保存處理程序的順序?
- 3. boost :: asio :: async_read_until不調用處理程序
- 4. ASIO庫 - 未調用的處理程序
- 5. boost asio udp套接字async_receive_from不會調用處理程序
- 6. boost :: asio :: deadline_timer不會調用處理程序
- 7. boost :: asio :: deadline_timer續訂仍然會調用處理程序函數
- 8. asio .async_ *將不會運行,除非主線程調用io_service.run
- 9. 調用async_resolve.cancel(),但async_resolve的回調處理程序不會返回boost :: asio :: error :: operation_aborted
- 10. 在iPhone中,是否保證viewWillAppear,viewDidAppear,viewWillDisappear,viewDidDisappear總是被調用?
- 11. boost :: asio調用串口的錯誤處理程序
- 12. asio :: async_write處理程序在3秒後被調用
- 13. Boost :: asio async_wait處理程序簽名
- 14. Boost asio綁定讀取處理程序
- 15. boost :: asio :: signal_set不會恢復之前的信號處理程序
- 16. 從處理程序或處理程序中刪除boost :: asio定時器是否安全?
- 17. boost :: future - 是否保證wait_callback只能被調用一次?
- 18. boost asio async_receive完成處理程序被調用0 bytes_transferred沒有任何錯誤
- 19. boost :: asio :: tcp :: socket關閉並取消沒有處理程序被調用
- 20. 事件處理程序是否保證在調用AJAX回調之前完成?
- 21. 是否促進asio呼叫異步處理程序按順序
- 22. 是否保證KeyListeners的調用順序?
- 23. 如何強制boost :: asio優先處理完成async_write調用而不是運行其他處理程序?
- 24. 這些是async_ *函數的boost :: asio lib並行執行操作系統
- 25. QuickFIX客戶端中的回調是否保證被調用?
- 26. 是否可以保證@PostConstruct方法被調用的順序?
- 27. async_read_until處理程序調用兩次
- 28. boost :: asio async_read/async_send繞過它的處理程序
- 29. async_connect不會在TCP客戶端類中調用處理程序
- 30. boost asio io_service.run()