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 类模板可以与两者一起使用。