CEvent

CEvent 클래스의 개체는 "이벤트"를 나타냅니다 ? 한 스레드가 다른 이벤트가 발생 했음을 알리도록 허용 하는 동기화 개체. 이벤트는 한 스레드가 해당 작업을 수행 하는 경우 알아야 할 때 유용 합니다. 예를 들어, 스레드 데이터 보관 데이터를 복사 하는 경우 새 데이터를 사용할 수 통보 해야 것 이다. 새 데이터를 사용할 수 때 복사 스레드를 알릴 CEvent 개체를 사용 하 여 스레드 작업을 수행할 수는 가능한 한 빨리。

CEvent 개체는 두 가지 유형: 수동 및 자동. 수동 CEvent 개체 다른 함수를 호출할 때까지 SetEvent 또는 ResetEvent 를 설정한 상태로 유지 합니다. 하나 이상의 스레드가 해제 후 자동 CEvent 개체 자동으로 nonsignaled (사용할 수 없음) 상태를 반환。

CEvent 개체를 사용 하려면 필요한 경우 CEvent 개체를 생성 합니다. 대기, 하려는 이벤트의 이름을 지정 하 고 응용 프로그램 처음 그것을 소유 해야 합니다. 그런 다음 생성자에서 반환 될 때 이벤트를 액세스할 수 있습니다. 이벤트 개체를 신호 (확인 가능) SetEvent 을 호출 하 고 완료 되 면 Unlock 을 호출 제어 된 리소스에 액세스。

CEvent 개체를 사용 하 여 대체 방법을 제어 하려는 클래스에 데이터 멤버로 CEvent 형식의 변수를 추가 하는 것입니다. 제어 개체의 건설 기간 동안 이벤트 처음 신호가 전달 하는 경우 이벤트 유형 개체를 지정 하는 CEvent 데이터 멤버의 생성자를 호출 합니다 (해당 되는 경우 프로세스 경계에 걸쳐 사용 될 것입니다) 이벤트의 이름 및 원하는 보안 특성。

CEvent 개체가 이런 방식으로 제어 하는 리소스에 액세스 하려면 먼저 만든 CSingleLocktype의 변수 또는 CMultiLock을 입력 귀하의 리소스 액세스 멤버 함수에서. 그런 다음 잠금 개체의 Lock 멤버 함수 (예를 들어, CMultiLock::Lock)를 호출 합니다. 이 시점에서 스레드 것입니다 하거나 리소스에 액세스할 발표 될 및 액세스, 또는 출시 될 리소스와 리소스에 액세스 하지 못하는 시간 초과 대 한 대기 리소스에 대 한 대기. 어떤 경우에, 귀하의 리소스는 스레드로부터 안전한 방식으로 읽혔습니다. 리소스를 해제 하기 위해 SetEvent 이벤트 개체를 신호 하는 다음 잠금 개체의 잠금 멤버 함수 (예를 들어, CMultiLock::Unlock)를 사용 하 여 호출 또는 잠금 개체가 범위를가를 수 있도록。

CEvent 개체를 사용 하 여 자세한 내용은 다음 웹 사이트를 참조 하십시오. 문서 다중 스레딩: 동기화 클래스 사용 방법 Visual c + + 프로그래머 가이드

# include lt;afxmt.h>

클래스 멤버 |nbsp; 기본 클래스 (ko) | 계층 구조 차트(&N)

샘플nbsp; MFC 샘플 MTGDI(&N)

Index