최대 1 초 동안 상태를 기다리고 싶습니다.어떻게하면 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);
하지만 오류 얻을 : 나는 TIME_DURATION를 전달하려고 한 나는 또한 xtime 통과 시도했습니다
/usr/include/boost/thread/pthread/condition_variable.hpp:156: error: no match for ‘operator+’ in ‘boost::get_system_time() + wait_duration’
:
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과 연결되어 있고 코드가 컴파일되고 실행 대기 만 사용하면 ok가 실행되지만 부울 헤더 파일에서 템플릿을 해결하는 것과 관련된 것 같은 오류 메시지가 표시됩니다. 내가 옳은 길을지나 가지 않는다고 말하는 것 같지만, 나는 그것을 이해하지 못합니다.
저는 실제로 1 분 전에 그것을 알아 냈습니다 만, 당신은 신용을 얻습니다. 고맙습니다 –