asio网络库同步和异步编程的两个简单例子(C++asio网络库相关)

boost/asio.hpp头文件包括了所需的所有库
先定义io_service连接代码和网络底层的桥梁
deadline_timer停留时间
date_time库主要用于处理具体时间,Chrono时间库用于处理时间段
同步调用例子:
在这里插入图片描述
异步调用例子:
callback在run中执行的
deadline_timer和async_wait是事件的注册
当没有事件要处理时run才会结束
在这里插入图片描述
当两个线程时执行时间就会比同步阻塞方式短
在这里插入图片描述
在这里插入图片描述
steady_timer与chrono搭配使用的例子:
在这里插入图片描述
BOOST库的时间库比较单一,调用一次就结束了
有的时候希望能调很多次直到程序生命周期停止、希望调用几次后能够取消掉、希望暂时几秒钟(比如某些人物大招有几秒的动画就需要暂停)等等情况就需要来自己手动实现了

发布了137 篇原创文章 · 获赞 33 · 访问量 1580

猜你喜欢

转载自blog.csdn.net/qq_39885372/article/details/104051540