Как спать с boost:: chrono?

Примеры boost::this_thread::sleep(), похоже, используют объекты boost::posix_time::milliseconds. Я пробовал это, и он работает, но я использую boost::chrono для проверки системных часов и т.д. Мне кажется, что я должен пройти sleep() a chrono::duration следующим образом:

boost:: this_thread:: sleep (boost:: chrono:: duration (10));

Но компилятор сообщает мне следующую ошибку:

... boost_1_49_0\boost/thread/win32/thread_data.hpp(171): ошибка C2039: 'total_milliseconds': не является членом 'boost:: chrono:: duration'

Что я нахожу смущением. Я прав, думая, что смогу это сделать? Будет ли необходимо преобразовать в posix_time?

1 ответ

В этом случае используйте sleep_for и seconds

boost::this_thread::sleep_for( boost::chrono::seconds(10) );

ИЗМЕНИТЬ

После проверки эта функция еще не доступна в boost 1.49.0. Все мои извинения. Это работает только в версии boost.

Это означает, что невозможно вызвать функцию типа спящего режима без преобразования в формат boost.datetime.

licensed under cc by-sa 3.0 with attribution.