我有一个项目列表,我需要在不同的时间间隔更新.该列表可以长成数千项.每个项目可能具有不同的间隔.如果我每个项目创建一个计时器,我将使用线程饱和系统?我认为创建一个等于该组项目中最小间隔的定时器可能会更好一些,然后每个更新增加一个计数器,然后检查计数器现在是否等于任何其他间隔.这应该工作,只要最小的间隔是所有其他间隔的倍数.有什么建议么?
解决方法
Boost不使用每个定时器的线程,它保持一个定时器队列.每个定时器都使用boost :: asio :: io_service对象创建,该对象执行实际工作.
这个对象可以在一个或多个线程when you run boost::asio::io_service::run()
explicitly from multiple threads中调度其工作,但是定时器和线程之间没有一对一的对应关系,Asio不会在后面创建线程.