Salut,

Quel est l'avantage d'utilisre un boost::timer dans un thread plutôt que la combo sleep+while dans un thread

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
void print(const boost::system::error_code& /*e*/,boost::asio::deadline_timer* t,int* count)
{
  if (*count < 5)
  {
    std::cout << *count << "\n";
    ++(*count);
    t->expires_at(t->expires_at() + boost::posix_time::seconds(5));
    t->async_wait(boost::bind(print, boost::asio::placeholders::error, t, count));
  }
}
 
 
int main(int argc, char *argv[])
{ 
    int count = 0;
    boost::asio::io_service io;
    boost::asio::deadline_timer t(io, boost::posix_time::seconds(5));
    t.async_wait(boost::bind(print,boost::asio::placeholders::error, &t, &count));
    boost::thread(boost::bind(&boost::asio::io_service::run,&io));
}