future
수업
비동기 반환 개체를 설명합니다.
구문
template <class Ty>
class future;
설명
각 표준 비동기 공급자는 이 템플릿의 인스턴스화 형식이 포함된 개체를 반환합니다. 개체는 future
연결된 비동기 공급자에 대한 유일한 액세스를 제공합니다. 동일한 비동기 공급자와 연결된 여러 비동기 반환 개체가 필요한 경우 개체를 future
개체에 shared_future
복사합니다.
멤버
공용 생성자
속성 | 설명 |
---|---|
future |
future 개체를 생성합니다. |
공용 메서드
이름 | 설명 |
---|---|
get |
연결된 비동기 상태에 저장된 결과를 검색합니다. |
share |
개체를 shared_future 로 변환합니다. |
valid |
개체가 비어 있지 않은지 여부를 지정합니다. |
wait |
연결된 비동기 상태가 준비로 설정될 때까지 현재 스레드를 차단합니다. |
wait_for |
연결된 비동기 상태가 준비로 설정되거나 지정된 시간이 경과할 때까지 차단합니다. |
wait_until |
연결된 비동기 상태가 ready로 설정되거나 지정된 시점이 될 때까지 차단합니다. |
Public 연산자
속성 | 설명 |
---|---|
future::operator= |
지정된 개체에서 연결된 비동기 상태를 전송합니다. |
요구 사항
머리글: <future>
네임스페이스: std
생성자
future
개체를 생성합니다.
future() noexcept;
future(future&& Other) noexcept;
매개 변수
Other
future
개체입니다.
설명
첫 번째 생성자는 연결된 비동기 상태가 없는 future
개체를 구성합니다.
두 번째 생성자는 개체를 future
생성하고 연결된 비동기 상태를 Other에서 전송합니다. 다른 항목에는 더 이상 연결된 비동기 상태가 없습니다.
get
연결된 비동기 상태에 저장된 결과를 검색합니다.
Ty get();
Return Value
결과가 예외이면 메서드는 예외를 다시 throw합니다. 그렇지 않으면 결과가 반환됩니다.
설명
이 메서드는 결과를 검색하기 전에 연결된 비동기 상태가 ready로 설정될 때까지 현재 스레드를 차단합니다.
부분 특수화 future<Ty&>
의 경우 저장되는 값은 실제로는 반환 값으로 비동기 공급자에 전달된 개체에 대한 참조입니다.
특수화 future<void>
에 대해서는 저장된 값이 없으므로 메서드는 void
를 반환합니다.
다른 특수화에서 메서드는 저장된 값에서 반환 값을 이동합니다. 따라서 이 메서드를 한 번만 호출합니다.
operator=
지정된 개체에서 연결된 비동기 상태를 전송합니다.
future& operator=(future&& Right) noexcept;
매개 변수
오른쪽
future
개체입니다.
Return Value
*this
설명
전송 후 Right 에는 더 이상 연결된 비동기 상태가 없습니다.
share
개체를 개체로 shared_future
변환합니다.
shared_future<Ty> share();
Return Value
shared_future(move(*this))
valid
개체에 연결된 비동기 상태가 있는지를 지정합니다.
bool valid() noexcept;
Return Value
개체가 연결된 비동기 상태이면 true
이고, 그렇지 않으면 false
입니다.
wait
연결된 비동기 상태가 준비로 설정될 때까지 현재 스레드를 차단합니다.
void wait() const;
설명
연결된 비동기 상태는 해당 비동기 공급자가 반환 값을 저장했거나 예외를 저장한 경우에만 ready로 설정됩니다.
wait_for
연결된 비동기 상태가 준비로 설정되거나 지정된 시간 간격이 경과할 때까지 현재 스레드를 차단합니다.
template <class Rep, class Period>
future_status wait_for(const chrono::duration<Rep, Period>& Rel_time) const;
매개 변수
Rel_time
chrono::duration
스레드가 차단하는 최대 시간 간격을 지정하는 개체입니다.
Return Value
반환 이유를 나타내는 A future_status
입니다.
설명
연결된 비동기 상태는 해당 비동기 공급자가 반환 값을 저장했거나 예외를 저장한 경우에만 준비입니다.
wait_until
연결된 비동기 상태가 ready가 되거나 지정된 시점이 지날 때까지 현재 스레드를 차단합니다.
template <class Clock, class Duration>
future_status wait_until(const chrono::time_point<Clock, Duration>& Abs_time) const;
매개 변수
Abs_time
time_point
스레드가 차단을 해제할 수 있는 시간을 지정하는 개체입니다.
Return Value
반환 이유를 나타내는 A future_status
입니다.
설명
연결된 비동기 상태는 해당 비동기 공급자가 반환 값을 저장했거나 예외를 저장한 경우에만 ready로 설정됩니다.