我想了解啓動io_service io_service::run()
與我的應用程序中的第一個異步操作(例如async_accept
)的正確順序。大多數增強示例似乎都是先後者,不知道爲什麼。正確的啓動異步操作序列並在boost :: asio中運行io_service?
的boost documentation作出如下觀點:
你的程序必須做才能調用io_service對象:: run()中的結果是 檢索。調用io_service :: run()會阻止未完成的異步操作,因此在開始第一次異步操作時應儘快將其稱爲 。
我從圖中瞭解到,異步操作的結果通過隊列傳遞給io_service,除非io_service已經運行,否則不會從此隊列中獲取結果。因此,說io_service應該總是首先啓動是不正確的。文件似乎暗示了其他情況。有人可以解釋嗎?
明白了,謝謝。喜歡增強文檔。 – nisah