Функции, связанные со временем, введенные в Boost 1.35.0 с использованием библиотеки Boost.Date_Time, обесцениваются. К ним относятся (но не ограничиваются):
Для перегрузок, принимающих абсолютный параметр времени, требуется объект типа boost::system_time
. Как правило, это будет получено путем добавления продолжительности к текущему времени, полученному с помощью вызова boost::get_system_time()
. Например.
boost::system_time const timeout=boost::get_system_time() + boost::posix_time::milliseconds(500);
extern bool done;
extern boost::mutex m;
extern boost::condition_variable cond;
boost::unique_lock<boost::mutex> lk(m);
while(!done)
{
if(!cond.timed_wait(lk,timeout))
{
throw "timed out";
}
}
Для перегрузок, которые принимают параметр TimeDuration, объект любого типа, который соответствует Boost. Можно использовать требования Date_Time Time Duration, например.
boost::this_thread::sleep(boost::posix_time::milliseconds(25));
boost::mutex m;
if(m.timed_lock(boost::posix_time::nanoseconds(100)))
{
}
#include <boost/thread/thread_time.hpp>
typedef boost::posix_time::ptime system_time;
См. документацию для boost::posix_time::ptime
. Библиотека Date_Time.
#include <boost/thread/thread_time.hpp>
system_time get_system_time();
- Returns:
Текущее время.
- Throws:
Ничего.