boost asio 性能与线程安全性
http://stackoverflow.com/questions/12794107/why-do-i-need-strand-per-connection-when-using-boostasio/12801042
http://www.boost.org/doc/libs/1_51_0/doc/html/boost_asio/overview/core/strands.html
url1: 同一个socket上, 不能 read write读写不能并发。。。。 !!!!???? 这个感觉不可能吧。。。那也太弱智了。。
====确实不能对同一个socket同时读写,socket能封装了basic_socket_stream, 该类的对象不能支持同时进行读写操作。ps, fstream也不能支持同时读写吧。。
http://stackoverflow.com/questions/4078484/using-boost-sockets-do-i-need-only-one-io-service
只强调, 不能 对同一个socket同时多读, 或者同时多写。
http://stackoverflow.com/questions/6161725/boostasio-threadpool-vs-io-service-per-cpu-design
性能递升。。。
- single thread and a single
io_service
- multiple threads, each invoking
io_service::run()
from a singleio_service
. Use strands for handlers that require access to shared data structures. io_service
per cpu
http://en.highscore.de/cpp/boost/asio.html#asio_networkprogramming
high score boost里面有boost asio的用法
1) single thread && single io_service, 最简单, 性能最一般
2) multithread && single io_service
3) io_service per thread. multi io_service.
这三个性能应该也是递增的。。。
http://stackoverflow.com/questions/11010530/do-we-need-multiple-io-service-per-thread-for-threaded-boostasio-server-with/11011080#11011080
single thread && single io_service性能肯定是不够的。
boost asio example
HTTP Server 2
An HTTP server using an io_service-per-CPU design.
HTTP Server 3
An HTTP server using a single io_service and a thread pool calling io_service::run()
.
http://stackoverflow.com/questions/8557067/thread-safe-coroutines-with-asio
http://www.crystalclearsoftware.com/soc/coroutine/coroutine/coroutine_thread.html
coroutine能使异步切碎的逻辑看起来像同步的方式写代码。
但是coroutine不能支持多线程, 只能一个ioservice一个线程的方式。
boost asio 性能与线程安全性相关推荐
- Boost.Asio入门
原文地址:https://mmoaay.gitbooks.io/boost-asio-cpp-network-programming-chinese/content/Chapter1.html Boo ...
- boost::asio译文
boost::asio译文 Christopher Kohlhoff Copyright © 2003-2012 Christopher M. Kohlhoff 以Boost1.0的软件授权进行发布( ...
- Boost.Asio技术文档汇总
Christopher Kohlhoff Copyright © 2003-2012 Christopher M. Kohlhoff 以Boost1.0的软件授权进行发布(见附带的LICENSE_1_ ...
- boost::asio中文文档
Christopher Kohlhoff Copyright © 2003-2012 Christopher M. Kohlhoff 以Boost1.0的软件授权进行发布(见附带的LICENSE_1_ ...
- Boost.Asio技术文档
文章来源:http://blog.csdn.net/henreash/article/details/7469707 Boost.Asio是一个跨平台的网络及底层IO的C++编程库,它使用现代C++手 ...
- Boost.Asio 技术文档
Christopher Kohlhoff Copyright © 2003-2012 Christopher M. Kohlhoff 以Boost1.0的软件授权进行发布(见附带的LICENSE_1_ ...
- muduo 与 boost asio 吞吐量对比
muduo (http://code.google.com/p/muduo) 是一个基于 Reactor 模式的 C++ 网络库,我在编写它的时候并没有以高并发高吞吐为主要目标,但出乎我的意料,pin ...
- boost asio 应用方法学(二)——深入框架
要用好它,就必须先了解它,而且不能停止于表面,必须深入到内部.而了解一件事物,先要了解它的框架,再了解它的细节.了解了框架,我们就有了提纲挈领的认识. 关于 boost asio 框架结构,在其文档中 ...
- boost asio 异步实现tcp通讯
一.前言 boost asio可算是一个简单易用,功能又强大可跨平台的C++通讯库,效率也表现的不错,linux环境是epoll实现的,而windows环境是iocp实现的.而tcp通讯是项目当中经常 ...
最新文章
- R语言如何画个性化词云图
- Thymeleaf 常用属性
- hdu1428 spfa+记忆化搜索
- Windows环境下node.js的安装和配置
- 笔记2——C++ static关键字与一维动态数组的使用
- 汇编语言的码制转换小问题--求指教
- Coinbase在2020年下半年共收到执法机构2313次信息申请
- c语言 前置声明,我这个C代码 为什么加了函数前置声明反而会出错,不加倒可以...
- and design pro实现打印电子面单(菜鸟物流-可批量打印)
- 稀疏表示 过完备字典
- Python图像处理丨认识图像锐化和边缘提取的4个算子
- 医学图像DCM格式文件处理
- 关于JS跨域访问简述
- 批量保存网页为html文件的几种方法
- aa44444444444
- Rao-Cramer下界
- 视频教程-Python数据分析案例实战 视频课程-Python
- 利用python抓取指定格式数据并翻译
- Oracle使用Scott用户登录
- 【python】又拍云采集工具助手exe带python图片采集源码
热门文章
- 【数据结构与算法】3.二叉搜索树(BST)、c++代码
- mysql dba系统学习(5)二进制日志binlog之一
- Java并发编程(3):线程挂起、恢复与终止的正确方法(含代码)
- 2015 年你在科研上有哪些值得分享的进展和感悟?
- TeXworks显示行号、语法高亮、自动补全
- 稀疏性和L1正则化基础 Sparsity and Some Basics of L1 Regularization
- Scala基础教程(七):类和对象、特征
- 数字图像处理:第四章 点运算
- (基础篇)数组的详解与使用
- Nginx的负载均衡 - 保持会话 (ip_hash)