Boost.Asio 通过 basic_waitable_timer 类模板提供基于 std::chrono 功能的定时器。typedef system_timer、steady_timer 和 high_resolution_timer 分别使用标准时钟 system_clock、steady_clock 和 high_resolution_clock。
当使用 -std=c++0x 或 -std=gnu++0x 编译器选项时,g++ 4.6 及更高版本会自动启用对 std::chrono 功能的支持。(请注意,对于 g++,将使用草案标准的 monotonic_clock 来代替 steady_clock。)可以通过定义 BOOST_ASIO_DISABLE_STD_CHRONO 来禁用支持,或者通过定义 BOOST_ASIO_HAS_STD_CHRONO 来明确为其他编译器启用支持。
当标准 chrono 不可用时,Boost.Asio 将使用 Boost.Chrono 库。 basic_waitable_timer 类模板可以与两者之一一起使用。