저는 std :: thread를 처음 사용합니다. 스레드를 다른 스레드에서 잠자기 상태로 만들 필요가 있습니까?std :: thread sleep하는 방법
std::this_thread::sleep_for(std::chrono::seconds(1));
하지만 내가 원하는 것은 같은 : 예에서, 내가 보는 모든 코드처럼
std::thread t([]{...});
t.sleep(std::chrono::seconds(1));
또는 sleep(t, std::chrono::seconds(1));
어떤 아이디어?
정직하게 말하면, 가장 좋은 해결책은 어떤 문제가 현명한 방법으로 해결되는 것입니다. 다른 스레드에서 스레드를 잠자기 상태로 설정해야하는 이유는 없습니다. 스레드가 지금하고 싶은 작업을하고 있다면 왜 잠자기 모드로 전환해야합니까? 쓰레드가 지금하고 싶은 작업을하지 않으면 코드가 깨져서 고쳐야합니다. –
아마도 'std :: condition_variable'과'wait (...)'또는'wait_for (...)'와 같은 메소드를 사용하고 싶을 것입니다. – hirschhornsalz