event 클래스event Class

동시성 런타임을 명시적으로 인식하는 수동 다시 설정 이벤트입니다.A manual reset event which is explicitly aware of the Concurrency Runtime.

구문Syntax

class event;

멤버Members

Public 생성자Public Constructors

NameName 설명Description
~ 이벤트 소멸자~event Destructor 이벤트를 소멸 시킵니다.Destroys an event.

Public 메서드Public Methods

이름Name 설명Description
resetreset 이벤트를 신호를 받지 않는 상태로 다시 설정 합니다.Resets the event to a non-signaled state.
setset 이벤트에 신호를 보냅니다.Signals the event.
대기한wait 이벤트가 신호를 받을 때까지 기다립니다.Waits for the event to become signaled.
wait_for_multiplewait_for_multiple 여러 이벤트가 신호를 받을 때까지 대기 합니다.Waits for multiple events to become signaled.

공용 상수Public Constants

NameName 설명Description
timeout_infinitetimeout_infinite 대기 시간이 초과되지 않아야 함을 나타내는 값입니다.Value indicating that a wait should never time out.

설명Remarks

자세한 내용은 동기화 데이터 구조를 참조 하세요.For more information, see Synchronization Data Structures.

상속 계층 구조Inheritance Hierarchy

event

요구 사항Requirements

헤더: concrt .hHeader: concrt.h

네임 스페이스: 동시성Namespace: concurrency

이벤트event

새 이벤트를 생성 합니다.Constructs a new event.

_CRTIMP event();

설명Remarks

~ 이벤트~event

이벤트를 소멸 시킵니다.Destroys an event.

~event();

설명Remarks

소멸자가 실행 될 때 이벤트를 대기 하는 스레드가 없는 것으로 예상 됩니다.It is expected that there are no threads waiting on the event when the destructor runs. 이벤트가 해당 이벤트를 계속 대기 중인 스레드와 함께 소멸할 수 있도록 허용하면 정의되지 않은 동작이 발생합니다.Allowing the event to destruct with threads still waiting on it results in undefined behavior.

다시 설정reset

이벤트를 신호를 받지 않는 상태로 다시 설정 합니다.Resets the event to a non-signaled state.

void reset();

설정set

이벤트에 신호를 보냅니다.Signals the event.

void set();

설명Remarks

이벤트에 신호를 보내면 이벤트를 대기하고 있는 임의 수의 컨텍스트가 실행 가능하게 됩니다.Signaling the event can cause an arbitrary number of contexts waiting on the event to become runnable.

timeout_infinitetimeout_infinite

대기 시간이 초과되지 않아야 함을 나타내는 값입니다.Value indicating that a wait should never time out.

static const unsigned int timeout_infinite = COOPERATIVE_TIMEOUT_INFINITE;

대기한wait

이벤트가 신호를 받을 때까지 기다립니다.Waits for the event to become signaled.

size_t wait(unsigned int _Timeout = COOPERATIVE_TIMEOUT_INFINITE);

매개 변수Parameters

_Timeout_Timeout
대기 시간이 초과 되기 전 까지의 시간 (밀리초)을 나타냅니다. 이 값은 COOPERATIVE_TIMEOUT_INFINITE 시간 제한이 없음을 나타냅니다.Indicates the number of milliseconds before the wait times out. The value COOPERATIVE_TIMEOUT_INFINITE signifies that there is no timeout.

Return ValueReturn Value

대기가 충족 된 경우 값 0 이 반환 되 고, 그렇지 않으면 COOPERATIVE_WAIT_TIMEOUT 이벤트 신호를 받지 않고 대기 시간이 초과 되었음을 나타내는 값이 반환 됩니다.If the wait was satisfied, the value 0 is returned; otherwise, the value COOPERATIVE_WAIT_TIMEOUT to indicate that the wait timed out without the event becoming signaled.

중요

UWP (유니버설 Windows 플랫폼) 앱에서 wait 이 호출이 현재 스레드를 차단 하 고 앱이 응답 하지 않을 수 있으므로 ASTA 스레드에서를 호출 하지 마세요.In a Universal Windows Platform (UWP) app, do not call wait on the ASTA thread because this call can block the current thread and can cause the app to become unresponsive.

wait_for_multiplewait_for_multiple

여러 이벤트가 신호를 받을 때까지 대기 합니다.Waits for multiple events to become signaled.

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

매개 변수Parameters

_PPEvents_PPEvents
대기할 이벤트의 배열입니다.An array of events to wait on. 배열 내의 이벤트 수는 count 매개 변수로 표시 됩니다.The number of events within the array is indicated by the count parameter.

countcount
매개 변수에 제공 된 배열 내에 있는 이벤트의 수 _PPEvents 입니다.The count of events within the array supplied in the _PPEvents parameter.

_FWaitAll_FWaitAll
값으로 설정 된 경우 매개 true 변수는 _PPEvents 대기를 충족 하기 위해 매개 변수에 제공 된 배열 내의 모든 이벤트가 신호를 받도록 지정 합니다.If set to the value true, the parameter specifies that all events within the array supplied in the _PPEvents parameter must become signaled in order to satisfy the wait. 값으로 설정 된 경우 false 매개 변수에 제공 된 배열 내에서 신호를 전달 하는 모든 이벤트는 대기를 충족 하도록 지정 합니다 _PPEvents .If set to the value false, it specifies that any event within the array supplied in the _PPEvents parameter becoming signaled will satisfy the wait.

_Timeout_Timeout
대기 시간이 초과 되기 전 까지의 시간 (밀리초)을 나타냅니다. 이 값은 COOPERATIVE_TIMEOUT_INFINITE 시간 제한이 없음을 나타냅니다.Indicates the number of milliseconds before the wait times out. The value COOPERATIVE_TIMEOUT_INFINITE signifies that there is no timeout.

Return ValueReturn Value

대기가 충족 _PPEvents 되 면 대기 조건을 충족 하는 매개 변수에 제공 된 배열 내의 인덱스이 고, 그렇지 않으면 값이 충족 되지 COOPERATIVE_WAIT_TIMEOUT 않고 대기 시간이 초과 되었음을 나타내는 값입니다.If the wait was satisfied, the index within the array supplied in the _PPEvents parameter which satisfied the wait condition; otherwise, the value COOPERATIVE_WAIT_TIMEOUT to indicate that the wait timed out without the condition being satisfied.

설명Remarks

매개 변수를 _FWaitAll 값으로 설정 하 여 true 대기를 충족 하기 위해 모든 이벤트가 신호를 받아야 함을 나타내는 경우 함수에서 반환 되는 인덱스는 값이 아니라 특별 한 의미가 없습니다 COOPERATIVE_WAIT_TIMEOUT .If the parameter _FWaitAll is set to the value true to indicate that all events must become signaled to satisfy the wait, the index returned by the function carries no special significance other than the fact that it is not the value COOPERATIVE_WAIT_TIMEOUT.

중요

UWP (유니버설 Windows 플랫폼) 앱에서 wait_for_multiple 이 호출이 현재 스레드를 차단 하 고 앱이 응답 하지 않을 수 있으므로 ASTA 스레드에서를 호출 하지 마세요.In a Universal Windows Platform (UWP) app, do not call wait_for_multiple on the ASTA thread because this call can block the current thread and can cause the app to become unresponsive.

참고 항목See also

concurrency 네임 스페이스concurrency Namespace