2
我已經浪費了兩天閱讀文檔boost :: asio 而我仍然不知道如何實現阻止select()
像幾個函數套接字只使用一個線程(使用boost框架)。 boost :: asio的異步函數立即返回,所以需要在主線程中放置一些等待函數,直到async_read
完成。 我懷疑這會耗費時間,但我真的受到性能要求的限制。如何實現基於POSIX select()的行爲,在boost :: asio
我已經浪費了兩天閱讀文檔boost :: asio 而我仍然不知道如何實現阻止select()
像幾個函數套接字只使用一個線程(使用boost框架)。 boost :: asio的異步函數立即返回,所以需要在主線程中放置一些等待函數,直到async_read
完成。 我懷疑這會耗費時間,但我真的受到性能要求的限制。如何實現基於POSIX select()的行爲,在boost :: asio
io_service
對象是select
函數的抽象。設置您的套接字,然後在主線程中調用io_service::run
成員函數。 io_service::run
函數將阻塞,直到完成與io_service
實例關聯的所有工作。您可以在異步處理程序中安排更多工作。
您還可以使用io_service::run_one
,io_service::poll
或io_service::poll_one
代替io_service::run
。