Я хочу ждать в состоянии до 1 секунды. Я пытаюсь передать time_duration:
boost::posix_time::time_duration td = boost::posix_time::milliseconds(50);
readerThread_cond_.timed_wait(lock, boost::bind(&XXXX::writeCondIsMet, this), td);
но я получаю ошибку:
/ USR / включать / импульс / нить / нитей / condition_variable.hpp: 156:
ошибка: нет совпадения для оператора + в
‘Boost :: get_system_time () +
wait_duration»
Я также пытался передать xtime:
boost::xtime t;
boost::xtime_get(&t, boost::TIME_UTC);
readerThread_cond_.timed_wait(lock, boost::bind(&XXXX::writeCondIsMet, this), td);
но я получаю ошибку:
Я связываюсь с libboost_thread и libboost_date_time, и код компилируется и запускается нормально, когда я использую только wait, но сообщение об ошибке, похоже, связано с разрешением шаблонов в файлах заголовка boost. Кажется, я говорю, что не правильно понимаю, но просто не понимаю.