비동기 도구

비동기 도구는 결과 소유 방식 구분

future는 결과를 받는 쪽의 핸들입니다. 시작을 누가 하는지, 값을 누가 채우는지, 실행을 누가 제어하는지에 따라 도구가 달라집니다.

상황별 도구 매핑

future based
start now std::async

호출 가능한 작업을 실행하고 반환값이나 예외를 future로 받습니다.

set later std::promise

생산자 스레드가 나중에 값을 채우고 소비자는 연결된 future로 기다립니다.

control run std::packaged_task

작업과 future를 연결하되 실행 스레드와 호출 시점을 직접 정합니다.