社区
C++ 语言
帖子详情
Boost asio 是否支持多线程异步读写?
vvqboy
2015-08-04 02:54:47
我看大多示例, 都是这样的模型
读socket - > 写socket -> 继续调用 读socket 实现循环
这样做, 对立马能返回结果的情况没问题.
可我目前遇到的问题, 是客户端每次会有大量请求, 而每次请求都需要8- 10秒后才能给出回应.
这就需要我使用这样的模型:
一个线程不停接受来自客户端的请求
一个线程不能发送请求结果
而这两个线程都是操作同一个socket
这样做是否会有问题呢?
...全文
294
2
打赏
收藏
Boost asio 是否支持多线程异步读写?
我看大多示例, 都是这样的模型 读socket - > 写socket -> 继续调用 读socket 实现循环 这样做, 对立马能返回结果的情况没问题. 可我目前遇到的问题, 是客户端每次会有大量请求, 而每次请求都需要8- 10秒后才能给出回应. 这就需要我使用这样的模型: 一个线程不停接受来自客户端的请求 一个线程不能发送请求结果 而这两个线程都是操作同一个socket 这样做是否会有问题呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
LubinLew
2015-08-04
打赏
举报
回复
accept每次返回的socket文件描述符都是不同的, 你应该用接受线程保存一个描述符队列, 发送线程通过这个队列中描述符向外发送,注意队列操作的互斥。 你的这种方法是不好的,你可以改成接收一个请求就创建一个线程,把描述符传递给线程入口。 更多的方法你可以看看《UNIX网络编程》 下面是一个异步IO的简介你可以参考一下 http://www.wangafu.net/~nickm/libevent-book/01_intro.html
jiqiang01234
2015-08-04
打赏
举报
回复
socket本来就支持同时异步读写,无论什么形式封装的库都肯定支持
Boost
学习之深入理解
asio
库
本文深入探讨
Boost
.
Asio
库,讲解
异步
I/O服务、I/O对象、
多线程
扩展及网络编程应用,通过实例解析
异步
操作的启动与句柄函数执行。
Boost
::
Asio
异步
读写
API 详解与Demo
本文详细解析了
Boost
.
Asio
框架下的
异步
读写
API,包括数据节点类和会话类的设计与实现。重点介绍了
异步
写操作的两种方式:手动管理进度和自动全量发送,以及
异步
读操作的两种模式:手动按需接收和自动全量接收。同时强调了发送队列的重要性,确保数据传输顺序一致。
基于
Boost
::
asio
的
多线程
异步
TCP服务器,实现了io_service线程池,测试了1万左右的并发访问,
读写
无压力
本文介绍使用
Boost
ASIO
库开发
异步
服务器的过程,包括线程池管理、客户端连接处理及自定义协议头实现。深入探讨了io_service角色,以及如何在
多线程
环境下确保数据同步。
Boost
asio
官方教程简介
本文深入讲解
Boost
.
Asio
库,涵盖
异步
I/O核心概念、I/O服务与对象、网络编程应用、
多线程
扩展及自定义扩展等内容。
Boost
.
Asio
异步
多线程
网络通信实战Demo
本文深入讲解
Boost
.
Asio
在C++中实现
异步
多线程
网络通信的核心技术,涵盖io_service事件循环、
异步
I/O模型、每连接单线程架构、回调函数设计、资源管理和优雅关闭策略。通过实际案例解析async_read_some、handler绑定、shared_from_this生命周期控制等关键技术,帮助开发者构建高性能、可扩展的并发服务器。
C++ 语言
65,211
社区成员
250,515
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章