다음을 통해 공유


event 클래스

동시성 런타임을 명시적으로 인식하는 수동 다시 설정 이벤트입니다.

구문

class event;

멤버

공용 생성자

속성 설명
~event 소멸자 이벤트를 삭제합니다.

공용 메서드

이름 설명
reset 이벤트를 신호가 없는 상태로 다시 설정합니다.
set 이벤트에 신호를 전송합니다.
wait 이벤트가 신호를 받기를 기다립니다.
wait_for_multiple 여러 이벤트가 신호를 받기를 기다립니다.

공용 상수

속성 설명
timeout_infinite 대기 시간이 초과되지 않아야 함을 나타내는 값입니다.

설명

자세한 내용은 동기화 데이터 구조를 참조 하세요.

상속 계층 구조

event

요구 사항

헤더: concrt.h

네임스페이스: 동시성

이벤트

새 이벤트를 생성합니다.

_CRTIMP event();

설명

~이벤트

이벤트를 삭제합니다.

~event();

설명

소멸자가 실행될 때 이벤트를 기다리는 스레드가 없을 것으로 예상됩니다. 이벤트가 해당 이벤트를 계속 대기 중인 스레드와 함께 소멸할 수 있도록 허용하면 정의되지 않은 동작이 발생합니다.

reset

이벤트를 신호가 없는 상태로 다시 설정합니다.

void reset();

set

이벤트에 신호를 전송합니다.

void set();

설명

이벤트에 신호를 보내면 이벤트를 대기하고 있는 임의 수의 컨텍스트가 실행 가능하게 됩니다.

timeout_infinite

대기 시간이 초과되지 않아야 함을 나타내는 값입니다.

static const unsigned int timeout_infinite = COOPERATIVE_TIMEOUT_INFINITE;

wait

이벤트가 신호를 받기를 기다립니다.

size_t wait(unsigned int _Timeout = COOPERATIVE_TIMEOUT_INFINITE);

매개 변수

_타임 아웃
대기 시간이 초과되기 전의 시간(밀리초)을 나타냅니다. 이 값 COOPERATIVE_TIMEOUT_INFINITE 은 시간 제한이 없음을 의미합니다.

Return Value

대기가 충족되면 값 0 이 반환되고, 그렇지 않으면 이벤트가 신호를 받지 않고 대기 시간이 초과되었음을 나타내는 값 COOPERATIVE_WAIT_TIMEOUT 입니다.

Important

UWP(유니버설 Windows 플랫폼) 앱에서는 이 호출이 현재 스레드를 차단할 수 있고 앱이 응답하지 않을 수 있으므로 ASTA 스레드를 호출 wait 하지 마세요.

wait_for_multiple

여러 이벤트가 신호를 받기를 기다립니다.

static size_t __cdecl wait_for_multiple(
    _In_reads_(count) event** _PPEvents,
    size_t count,
    bool _FWaitAll,
    unsigned int _Timeout = COOPERATIVE_TIMEOUT_INFINITE);

매개 변수

_PPEvents
대기할 이벤트 배열입니다. 배열 내의 이벤트 수는 매개 변수로 count 표시됩니다.

count
매개 변수에 제공된 배열 내의 이벤트 수입니다 _PPEvents .

_FWaitAll
true으로 설정하면 매개 변수는 매개 변수에 제공된 배열 내의 _PPEvents 모든 이벤트가 대기를 충족하기 위해 신호를 받아야 한다고 지정합니다. 값 false으로 설정하면 신호를 받게 되는 매개 변수에 제공된 배열 내의 _PPEvents 모든 이벤트가 대기를 충족하도록 지정합니다.

_타임 아웃
대기 시간이 초과되기 전의 시간(밀리초)을 나타냅니다. 이 값 COOPERATIVE_TIMEOUT_INFINITE 은 시간 제한이 없음을 의미합니다.

Return Value

대기가 충족된 경우 대기 조건을 충족하는 매개 변수에 _PPEvents 제공된 배열 내의 인덱스입니다. 그렇지 않으면 조건이 충족되지 않고 대기 시간이 초과되었음을 나타내는 값 COOPERATIVE_WAIT_TIMEOUT 입니다.

설명

모든 이벤트가 대기를 충족하도록 신호를 받아야 함을 나타내기 위해 매개 변수 _FWaitAll 를 값 true 으로 설정하면 함수에서 반환하는 인덱스는 값 COOPERATIVE_WAIT_TIMEOUT이 아니라는 사실 외에 특별한 의미를 갖지 않습니다.

Important

UWP(유니버설 Windows 플랫폼) 앱에서는 이 호출이 현재 스레드를 차단할 수 있고 앱이 응답하지 않을 수 있으므로 ASTA 스레드를 호출 wait_for_multiple 하지 마세요.

참고 항목

concurrency 네임스페이스