Namespaces
Variants

std:: launch

From cppreference.net
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
Generic lock management
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
launch
(C++11)
Safe reclamation
Hazard pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11) (deprecated in C++20)
(C++11) (deprecated in C++20)
Memory ordering
(C++11) (deprecated in C++26)
Free functions for atomic operations
Free functions for atomic flags
헤더에 정의됨 <future>
enum class launch : /* unspecified */ {

async = /* unspecified */ ,
deferred = /* unspecified */ ,
/* implementation-defined */

} ;
(C++11 이후)

std::launch BitmaskType 입니다. 이것은 std::async 함수에 의해 실행되는 태스크의 실행 정책을 지정합니다.

상수

다음 상수들은 개별 비트를 나타내며 표준 라이브러리에 의해 정의됩니다:

열거자 의미
async 태스크가 다른 스레드에서 실행되며, 잠재적으로 먼저 생성되고 시작됨
deferred 태스크가 호출 스레드에서 첫 번째 결과 요청 시 실행됨 (지연 평가)

또한, 구현체는 다음을 허용됩니다:

  • 실행 정책의 하위 집합에 적용 가능한 태스크 상호작용 제한을 지정하기 위해 추가 비트와 비트마스크를 정의하고,
  • std::async 의 첫 번째 (기본) 오버로드에 대해 이러한 추가 비트마스크를 활성화합니다.

결함 보고서

다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.

DR 적용 대상 게시된 동작 올바른 동작
LWG 2102 C++11 std::launch 는 구현 정의 타입이었음 구현 정의가 아님

참고 항목

(C++11)
함수를 비동기적으로(새 스레드에서 실행 가능) 실행하고 결과를 담을 std::future 를 반환함
(함수 템플릿)