CCriticalSection

CCriticalSection 클래스의 개체가 나타내는 "임계" ? 리소스 또는 코드의 섹션에 액세스 하려면 한 번에 하나의 스레드만 허용 하는 동기화 개체. 중요 섹션은 한 번에 하나의 스레드만 데이터 또는 다른 제어 리소스를 수정할 수 있습니다 때 유용 합니다. 예를 들어 연결된 리스트에 노드를 추가 한 번에 한 스레드에 의해 허용 해야 하는 프로세스입니다. CCriticalSection 개체 연결된 목록을 제어 하 여 한 번에 하나의 스레드만 목록에 대 한 액세스를 얻을 수 있습니다.

속도가 중요 한 리소스를 프로세스 경계를 넘어 사용 하지 때 중요 섹션 뮤텍스 대신 사용 됩니다. 뮤텍스를 사용 하 여 MFC에서 자세한 내용은 다음 웹 사이트를 참조 하십시오. CMutex

CCriticalSection 개체를 사용 하려면 필요한 경우 CCriticalSection 개체를 생성 합니다. 생성자를 반환 하는 경우에 다음 중요 섹션을 액세스할 수 있습니다. 잠금 해제 를 호출 하 여 완료 되 면 중요 섹션에 액세스。

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

또는 독립형, CCriticalSection 개체를 만들 하 고 제어 된 리소스에 액세스 하기 전에 명시적으로 액세스할 수 있습니다. 소스 코드를 읽는 사람에 게 명확 하 게 하는 동안이 메서드는 더 경향이 오류를 중요 섹션을 액세스 전후 잠금을 해제 해야 합니다으로。

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

# include lt;afxmt.h>

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

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

참고 항목nbsp;CMutex(&N)

Index