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

前端之家收集整理的这篇文章主要介绍了c – boost :: asio :: deadline_timer为每个计时器使用线程?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个项目列表,我需要在不同的时间间隔更新.该列表可以长成数千项.每个项目可能具有不同的间隔.如果我每个项目创建一个计时器,我将使用线程饱和系统?我认为创建一个等于该组项目中最小间隔的定时器可能会更好一些,然后每个更新增加一个计数器,然后检查计数器现在是否等于任何其他间隔.这应该工作,只要最小的间隔是所有其他间隔的倍数.有什么建议么?

解决方法

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

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

猜你在找的C&C++相关文章