【Boost】boost库asio详解1——io_service::run函数无任务时退出的问题
生活随笔
收集整理的這篇文章主要介紹了
【Boost】boost库asio详解1——io_service::run函数无任务时退出的问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
io_service::work類可以使io_service::run函數在沒有任務的時候仍然不返回,直至work對象被銷毀。
[cpp]?view plain?copy ?print? void?test_asio_nowork()?? {?? ????boost::asio::io_service?ios;?? ?? ????PRINT_DEBUG("ios?before");?? ????ios.run();?? ????PRINT_DEBUG("ios?end");?? }?? ?? void?test_asio_work()?? {?? ????boost::asio::io_service?ios;?? ????//?增加一個work對象?? ????boost::asio::io_service::work?work(ios);?? ?? ????PRINT_DEBUG("ios?before");?? ????//?當沒有任務時,ios.run()也不會馬上返回?? ????ios.run();?? ????PRINT_DEBUG("ios?end");?? }??
test_asio_nowork()執行結果:
[cpp]?view plain?copy ?print? 2013-01-05?22:43:19?334?[4868]?DEBUG?-?ios?before?? 2013-01-05?22:43:19?341?[4868]?DEBUG?-?ios?end??
test_asio_work()的執行結果:
[cpp]?view plain?copy ?print? 2013-01-05?22:43:48?514?[7852]?DEBUG?-?ios?before?? ???
[cpp]?view plain?copy ?print?
[cpp]?view plain?copy ?print?
[cpp]?view plain?copy ?print?
沒有任務時, 也會阻塞.
總結
以上是生活随笔為你收集整理的【Boost】boost库asio详解1——io_service::run函数无任务时退出的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 反汇编最基础知识(段寄存器和寄存器的说明
- 下一篇: 【Boost】boost库asio详解2