Я пытаюсь создать временную блокировку на мьютекс. Я думал, что следующий api от boost может помочь, но мне трудно найти пример кода в качестве ссылки для его использования.
scoped_lock(mutex_type & m, const boost::posix_time::ptime & abs_time);
Я хочу сделать что-то вроде этого,
scoped_lock<interprocess_mutex> lock (_mutex, ? /* lock for 200 ms max */ ) ;
Мой вопрос заключается в том, как создать объект posix_time :: ptime длительностью 200 мс. Я пытался создать объект time_duration, но он не является конструктором, который принимает его прямым путем.
boost::posix_time::time_duration td = boost::posix_time::milliseconds(200);
Может кто-нибудь помочь мне понять, как это работает, пожалуйста?
Просто добавьте продолжительность к текущему времени:
auto now = boost::posix_time::microsec_clock::universal_time();
Других решений пока нет …