我在另一個線程中調用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 :: async_read_until不調用處理程序
- 2. boost :: asio :: deadline_timer續訂仍然會調用處理程序函數
- 3. asio :: async_write處理程序在3秒後被調用
- 4. boost :: asio :: signal_set不會恢復之前的信號處理程序
- 5. 從處理程序或處理程序中刪除boost :: asio定時器是否安全?
- 6. boost :: future - 是否保證wait_callback只能被調用一次?
- 7. 事件處理程序是否保證在調用AJAX回調之前完成?
- 8. 是否保證KeyListeners的調用順序?
- 9. 如何強制boost :: asio優先處理完成async_write調用而不是運行其他處理程序?
- 10. 從boost :: asio :: io_service中刪除所有處理程序而不用調用它們
- 11. boost :: asio async_read/async_send繞過它的處理程序
- 12. async_connect不會在TCP客戶端類中調用處理程序
- 13. boost asio io_service.run()
- 14. Clojure代理是否總是調用super.method()?
- 15. boost :: asio :: io_service檢查是否爲空
- 16. 使用boost :: asio :: basic_stream_socket :: async_read_some而不是boost :: asio :: async_read會更高效嗎?
- 17. 是否爲servlet處理的整個請求保證線程?
- 18. boost :: asio :: async_read和boost :: asio :: streambuf
- 19. boost :: asio :: write似乎不工作,而boost :: asio :: read是優秀的
- 20. 對於boost-asio網絡編程什麼是處理響應的最佳方法?
- 21. 是否可以在主函數中調用處理程序?
- 22. boost :: asio是否會產生過多的小堆分配,還是我錯了?
- 23. boost :: asio async_read保證所有字節被讀取
- 24. 預處理程序指令#include是否被禁用/排除?
- 25. Validation.Error不是調用處理程序
- 26. 我可以保證onreadystatechange最終總是會被調用readyState == 4嗎?
- 27. boost asio異步寫入處理函數自己調用
- 28. Facebook的處理程序不會被調用
- 29. SessionState的不處理程序被保存
- 30. 存儲過程SQLWARNING退出處理程序不會被調用