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 编译器选项时,对 std::chrono 设施的支持会自动为 g++ 4.6 及更高版本启用。(请注意,对于 g++,会使用草案标准的 monotonic_clock 来替代 steady_clock。)通过定义 BOOST_ASIO_DISABLE_STD_CHRONO 可以禁用支持,或者通过定义 BOOST_ASIO_HAS_STD_CHRONO 为其他编译器显式启用支持。
当标准 chrono 不可用时,Boost.Asio 将会使用 Boost.Chrono 库。 basic_waitable_timer 类模板可以与两者一起使用。