Boost.Asio中的线程
来源:互联网 发布:淘宝更换手机号 编辑:程序博客网 时间:2024/06/07 17:00
io_service:io_service是线程安全的。几个线程可以同时调用io_service::run()。大多数情况下你可能在一个单线程函数中调用io_service::run(),这个函数必须等到所有异步操作完成之后才能继续执行。然而,事实上可以在多个线程中调用io_service::run()。这会阻塞所有调用io_service::run()的线程。只要当中任何一个线程调用了io_service::run(),所有回调都会同时被调用;这也意味着,当在一个线程中调用io_service::run()时,所有的回调都被调用了。
socket: socket类不是线程安全的。所以,要避免在某个线程里读一个socket时,同时在另外一个线程里面对其进行进行写入操作。(通常来说这种操作都是不推荐的,更别说Boost.Asio)
utility:就utility来说,因为它不是线程安全的,所以通常也不提倡在多个线程里面同时使用。里面的方法经常只是在很短的时间里面使用以一下,然后就释放了。
除了自己创建的线程,Boost.Asio本身也包含几个线程。但是可以保证的是那些线程不会调用自己的代码。
这也意味着,只有调用了io_service::run()方法的线程才会调用回调函数。
0 0
- Boost.Asio中的线程
- Boost Asio 中的线程和基本原理
- c++boost中的asio介绍
- boost asio 性能与线程安全性
- boost::asio io线程退出的问题
- boost asio 单线程的异步
- boost的asio中的read_util问题
- boost的asio中的buffer的使用
- boost的asio使用中的一个问题
- 犯错误了,boost中的asio的asyncWrite
- 犯错误了,boost中的asio的asyncWrite
- Boost::asio中的异步回调
- boost中的asio实现定时器功能
- 异步服务端中的多线程 boost asio
- Boost Asio
- boost asio
- Boost.asio
- boost asio
- 面试题58:二叉树的下一个结点
- pdf和图像文字识别提取工具
- CDN技术原理分析
- android 安装 avd的问题
- Android中自定义属性的使用
- Boost.Asio中的线程
- 二叉树遍历 非递归算法
- Class method differences in Python: bound, unbound and static
- 互联网时代是一个“打劫”的时代
- jvm默认异常处理,和自定义异常处理
- win7 下配置 Qt5.1 for Android
- 外地户口在京生娃办材料系列之生育联络单
- iPhone和iPad屏幕的尺寸和分辨率
- C语言强化(十一)二叉树镜像变化 | 要求:不使用递归