태그: future
4편
-
C++ shared_future | 여러 스레드에서 future 결과 공유
std::future는 get()을 한 번만 부를 수 있어 여러 스레드가 같은 결과를 기다리면 문제가 됩니다. share()로 shared_future를 만들어 설정값이나 지연 계산 결과를 여러 워커가 공유하는 방법과, 예외 전파·스레드 안전성의 범위를 예제로 설명합니다.
-
C++ std::packaged_task: 작업 큐와 스레드 풀에서 future로 결과·예외 받기
std::packaged_task로 함수를 감싸 두고 원하는 스레드와 시점에 실행한 뒤 future로 결과와 예외를 받는 방법을 작업 큐와 간단한 스레드 풀로 구현합니다. 실행 누락으로 get()이 영원히 기다리는 문제, 이동 전용이라 생기는 제약도 짚습니다.
-
C++ promise와 future: 스레드 간 결과 전달, std::async 실행 정책, shared_future
std::promise로 다른 스레드의 결과나 예외를 넘기고 std::future로 받는 흐름을 설명합니다. std::async의 launch::async와 deferred 정책 차이, get()을 두 번 부를 수 없는 이유, 타임아웃 대기, shared_future로 여러 스레드가 결과를 공유하는 방법을 예제로 봅니다.
-
C++ std::async와 launch 정책: future, deferred 실행, 흔한 함정
std::async에 launch::async와 launch::deferred를 지정했을 때 실행 시점이 어떻게 달라지는지 설명하고, 여러 future 결과 모으기, 예외 전달, wait_for로 상태 확인과 타임아웃 처리, 병렬 다운로드·맵 리듀스 예제를 다룹니다.