加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – boost :: asio :: deadline_timer为每个计时器使用线程?

发布时间:2020-12-16 03:20:48 所属栏目:百科 来源:网络整理
导读:我有一个项目列表,我需要在不同的时间间隔更新.该列表可以长成数千项.每个项目可能具有不同的间隔.如果我每个项目创建一个计时器,我将使用线程饱和系统?我认为创建一个等于该组项目中最小间隔的定时器可能会更好一些,然后每个更新增加一个计数器,然后检查计
我有一个项目列表,我需要在不同的时间间隔更新.该列表可以长成数千项.每个项目可能具有不同的间隔.如果我每个项目创建一个计时器,我将使用线程饱和系统?我认为创建一个等于该组项目中最小间隔的定时器可能会更好一些,然后每个更新增加一个计数器,然后检查计数器现在是否等于任何其他间隔.这应该工作,只要最小的间隔是所有其他间隔的倍数.有什么建议么?

解决方法

Boost不使用每个定时器的线程,它保持一个定时器队列.每个定时器都使用boost :: asio :: io_service对象创建,该对象执行实际工作.

这个对象可以在一个或多个线程when you run boost::asio::io_service::run() explicitly from multiple threads中调度其工作,但是定时器和线程之间没有一对一的对应关系,Asio不会在后面创建线程.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读