【发布时间】:2010-02-13 20:56:35
【问题描述】:
我想等待一个条件最多 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/include/boost/thread/pthread/condition_variable.hpp:156: 错误:与“运算符+”不匹配 '升压::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 头文件中的模板有关。似乎是在说我没有传递正确的东西,但我就是不明白。
【问题讨论】:
标签: c++ multithreading boost