asio::deadline_timer


int main() 
{ 
    boost::asio::io_service io; 
    printer p(io); 
    io.run(); 
    return 0; 
} 

//



class printer 
{ 
public:  //构造函数有一个io_service参数,并且在初始化m_Timer时用到了它.用来计数的m_Count这里同样作为了成员变量 
    printer(boost::asio::io_service& io) : m_Timer(io, boost::posix_time::seconds(1)), m_Count(0) 
    { 
			m_Timer.async_wait(boost::bind(&printer::print, this)); 
			
		void print() 
		{ 
		    if (m_Count < 5) 
		    { 
		        std::cout << m_Count << " "; 
		        ++m_Count; 
		        m_Timer.expires_at(m_Timer.expires_at() + boost::posix_time::seconds(1)); 
		        m_Timer.async_wait(boost::bind(&printer::print, this)); 
		    } 
		} 
		
private: 
    boost::asio::deadline_timer m_Timer; 
    int m_Count; 
}; 



//



deadline_timer


你可能感兴趣的:(C/C++)