Code Snippet

std::future.wait_until

알 수 없는 사용자 2013. 3. 8. 18:14

cppreference.com 에 있는 std::future.wait_for 의 샘플 코드를


std::future.wait_until 로 바꿔 넣어 본 코드입니다.

(vs2012 는 future 를 지원하지만, gcc 는 4.8 beta 현재 미지원 입니다.)


요렇게 하면 고정된 목표 대기 시간을 처음 대기 때 넘겨버리기 때문에 

sleep_for 에 걸린 시간 만큼 루프를 돌면서 timeout 메시지를 주루룩 쏟아 냅니다.

async 의 첫번째 인자를 deffered 를 주면 future_status 는 deffered 가 나오고 timeout 은 나오지 않습니다.

실행이 지연되므로 ready 상태 역시 되지 않으므로 위와 같은 코드 상황이라면 무한 루프에 빠져 버리므로

주의해야합니다.