Namespaces
Variants

Extensions for concurrency

From cppreference.net

C++ 확장 기능 동시성(ISO/IEC TS 19571:2016)은 C++ 표준 라이브러리를 위한 다음과 같은 새로운 구성 요소들을 정의합니다:

목차

std::future에 대한 연속 작업 및 기타 확장

헤더에 정의됨 <experimental/future>
(concurrency TS)
연속성(continuations) 및 기타 기능이 향상된 std::future 의 버전
(클래스 템플릿)
(concurrency TS)
연속성(continuations) 및 기타 기능이 향상된 std::shared_future 의 버전
(클래스 템플릿)
(concurrency TS)
std::experimental::future 를 사용하도록 수정된 std::promise 의 버전
(클래스 템플릿)
(concurrency TS)
std::experimental::future 를 사용하도록 수정된 std::packaged_task 의 버전
(클래스 템플릿)
(concurrency TS)
주어진 모든 future나 shared_futures 가 준비 상태가 되었을 때 준비되는 future를 생성함
(함수 템플릿)
(concurrency TS)
주어진 future나 shared_futures 중 적어도 하나가 준비 상태가 되었을 때 준비되는 future를 생성함
(함수 템플릿)
(concurrency TS)
즉시 준비 상태가 되며 주어진 값을 보유하는 future를 생성함
(함수 템플릿)
(concurrency TS)
즉시 준비 상태가 되며 주어진 예외를 보유하는 future를 생성함
(함수 템플릿)

기능 테스트 매크로

헤더 파일에 정의됨 <experimental/future>
__cpp_lib_experimental_future_continuations
최소 201505 값을 가지며 future::then 및 다른 확장 기능들이 지원됨을 나타냄
(매크로 상수)
헤더 파일에 정의됨 <experimental/latch>
__cpp_lib_experimental_latch
최소 201505 값을 가지며 latch 타입이 지원됨을 나타냄
(매크로 상수)
헤더 파일에 정의됨 <experimental/barrier>
__cpp_lib_experimental_barrier
최소 201505 값을 가지며 barrier 타입이 지원됨을 나타냄
(매크로 상수)
헤더 파일에 정의됨 <experimental/atomic>
__cpp_lib_experimental_atomic_smart_pointers
최소 201505 값을 가지며 atomic 스마트 포인터들이 지원됨을 나타냄
(매크로 상수)

C++20에 통합됨

Concurrency TS의 다음 구성 요소들이 C++20 표준에 채택되었습니다.

래치와 배리어

헤더에 정의됨 <experimental/latch>
(concurrency TS)
단일 사용 스레드 배리어
(클래스)
헤더에 정의됨 <experimental/barrier>
(concurrency TS)
재사용 가능한 스레드 배리어
(클래스)
(concurrency TS)
완료 시 사용자 정의 가능한 동작을 가진 재사용 가능한 스레드 배리어
(클래스)

원자적 스마트 포인터

이러한 클래스 템플릿은 shared_ptr의 atomic 함수 오버로드 를 대체합니다

헤더에 정의됨 <experimental/atomic>
(concurrency TS)
std::shared_ptr의 atomic 버전
(클래스 템플릿)
(concurrency TS)
std::weak_ptr의 atomic 버전
(클래스 템플릿)