title: boost deadline timer my code not run concurrently
body: <p>I am planning to use boost c++ library for my one-shot timer requirement in my project. </p>
  
  <p>In my program timer is started and i want my program to continue with its execution while timer is running, but in the below code my program is blocked 
  until timer expires.. is there a way to do this.</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;boost/asio.hpp&gt;
  #include &lt;boost/date_time/posix_time/posix_time.hpp&gt;
  
  void print(const boost::system::error_code&amp; /*e*/)
  {
      std::cout&lt;&lt;"timer expired...";
  }
  
  int main()
  {
      boost::asio::io_service io;
  
      boost::asio::deadline_timer t1(io, boost::posix_time::seconds(5));
      t1.async_wait(print);
  
      io.run();
      int var;
  
      while(1) { // i want this loop to execute while timer running....
          std::cout&lt;&lt;"Main execution...\n";
          std::cin&gt;&gt;var;
      }
  
      return 0;
  }
  </code></pre>