Boost.Asioでsleep

deadline_timer::waitで(同期)sleepになります。

#include <boost/asio.hpp>
#include <iostream>

namespace asio = boost::asio;

int main()
{
    asio::io_service io_service;

    asio::deadline_timer timer(io_service);

    std::cout << "wait" << std::endl;

    timer.expires_from_now(boost::posix_time::seconds(3));
    timer.wait();

    std::cout << "end" << std::endl;
}
wait
end

waitと出力された3秒後にendが出力されます。