我想等待条件达1秒钟。我已经尝试传递TIME_DURATION:如何获得boost :: condition :: timed_wait来编译?
boost::posix_time::time_duration td = boost::posix_time::milliseconds(50);
readerThread_cond_.timed_wait(lock, boost::bind(&XXXX::writeCondIsMet, this), td);
,但我得到的错误:
/usr/include/boost/thread/pthread/condition_variable.hpp:156: error: no match for ‘operator+’ in ‘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链接,代码编译并运行正常,当我使用只是使用等待,但错误信息似乎与解决boost头文件中的模板有关。这似乎是说我没有通过正确的事情,但我只是不明白这一点。
我其实在一分钟前计算出来,但你得到的功劳。谢谢 – 2010-02-13 21:45:04