CCriticalSection 클래스
"임계" 나타냅니다-스레드씩 코드 섹션 이나 한 리소스에 액세스 하려면 한 번에 하나의 스레드가 있습니다.
class CCriticalSection : public CSyncObject
Members
Public 생성자
Name |
설명 |
---|---|
CCriticalSection 개체를 생성합니다. |
Public 메서드
Name |
설명 |
---|---|
사용 하 여 액세스 하는 CCriticalSection 개체입니다. |
|
릴리스는 CCriticalSection 개체입니다. |
Public 연산자
Name |
설명 |
---|---|
내부에 대 한 포인터를 검색 합니다. CRITICAL_SECTION 개체입니다. |
공용 데이터 멤버
Name |
설명 |
---|---|
A CRITICAL_SECTION 개체입니다. |
설명
임계 한 번에 하나의 스레드만 데이터 또는 일부 다른 제어 리소스를 수정할 수 있는 경우에 유용 합니다. 예를 들어, 노드를 연결 된 목록에 추가 한 번에 하나의 스레드에서만 허용 되어야 하는 프로세스입니다. 사용 하는 CCriticalSection 연결 된 목록에서 한 번에 하나의 스레드만 목록에 액세스할 수만 제어 하는 개체입니다.
참고
기능을 CCriticalSection 클래스는 Win32 실제 제공 된 CRITICAL_SECTION 개체.
중요 섹션 뮤텍스 대신 사용 됩니다 (참조 CMutex) 속도 중요 시점과 프로세스 경계 간의 리소스 사용 되지 않습니다.
사용 하는 방법은 두 가지가 CCriticalSection 개체: 독립 실행형 및 포함 된 클래스에서입니다.
독립 실행형 메서드를 사용 하는 독립 실행형 CCriticalSection 개체, 생성 된 CCriticalSection 필요할 때 개체. 생성자에서 성공적으로 반환 후에 명시적으로 개체를 잠글 잠금. 호출 잠금 해제 완료 되 면 중요 섹션에 액세스 합니다. Clearer 소스 코드를 읽는 사람이 하는 동안이 메서드를 임계 전과 후 액세스 잠금을 해제 하는 것 처럼 오류를 더 쉽습니다.
사용 하는 것이 바람직한 방법 메서드는 CSingleLock 클래스입니다. 도 Lock 및 Unlock 메서드가 있지만 필요가 예외가 발생 하면 리소스를 잠금 해제에 대 한 걱정 합니다.
수 공유할 수도 클래스는 여러 개의 스레드를 추가 하 여 메서드를 포함 한 CCriticalSection-형식 데이터 멤버를 클래스 및 필요한 경우 데이터 멤버를 잠금.
사용에 대 한 자세한 내용은 CCriticalSection 문서를 참조 하는 개체를 다중 스레딩: 동기화 클래스 사용 방법.
상속 계층 구조
CCriticalSection
요구 사항
헤더: afxmt.h