asio io_service multithreaded timer
来源:互联网 发布:淘宝店铺动态怎么看 编辑:程序博客网 时间:2024/06/07 02:23
今假设起1000个定时器,每一个定时器每隔5秒执行一个任务。
现在有两种方案:
一:初始化一个io_service
所有的定时器都绑定到io_service,所有的任务都交由一个io_service执行,
那么是单线程执行还是多线程执行?
答案是都可以,取决于你。
如果只有一个线程A执行io_service的run()方法,那么所有的任务都会由线程A执行。
如果有多个线程A,B,C...执行io_service的run()方法,那么所有的任务将由多个线程A,B,C...共同完成,彼此之间并无顺序而是随机执行。
二:初始化多个io_service(但是由于系统的限制,只可以起很少量的io_service在我的64位16G内存的机器上只开到了340个)
所有的定时器可以分批绑定到各个io_service,所有的任务由多个io_service共同完成。
当然每个io_service可以由多个线程执行其run()方法,其所负责的任务分担到各个执行run()方法的线程.
现在有两种方案:
一:初始化一个io_service
所有的定时器都绑定到io_service,所有的任务都交由一个io_service执行,
那么是单线程执行还是多线程执行?
答案是都可以,取决于你。
如果只有一个线程A执行io_service的run()方法,那么所有的任务都会由线程A执行。
如果有多个线程A,B,C...执行io_service的run()方法,那么所有的任务将由多个线程A,B,C...共同完成,彼此之间并无顺序而是随机执行。
二:初始化多个io_service(但是由于系统的限制,只可以起很少量的io_service在我的64位16G内存的机器上只开到了340个)
所有的定时器可以分批绑定到各个io_service,所有的任务由多个io_service共同完成。
当然每个io_service可以由多个线程执行其run()方法,其所负责的任务分担到各个执行run()方法的线程.
0 0
- asio io_service multithreaded timer
- Boost.asio的简单使用(timer,thread,io_service类)
- Boost.asio的简单使用(timer,thread,io_service类)
- boost::asio::Io_service
- boost::asio::Io_service
- boost::asio::Io_service
- boost::asio::Io_service
- boost::asio 之io_service
- boost::asio::Io_service strand
- boost::asio::io_service(之一)
- Boost::asio io_service
- Boost::asio io_service
- io_service类 boost asio
- boost asio io_service学习笔记
- boost asio io_service学习笔记
- boost asio io_service学习笔记
- boost asio io_service学习笔记
- Boost::asio io_service 实现分析
- [Python] Bargain Box Kung Fu
- 【内核IPSec代码分析1】术语与结构体
- Super Ugly Number | LeetCode
- 初识指针的学习总结(1)
- Linux学习笔记(五、常见目录的作用)
- asio io_service multithreaded timer
- 说说&和&&的区别?
- hand_excel
- 点击一个Btn其他的btn的颜色变成原来的样子
- mysql alter
- 语音识别基本原理介绍--gmm-hmm中训练的完整版
- (四十七)读取一行输入getline()和get()
- HTTP网络通信小结
- JAVA虚拟机内存回收算法与调优参数