다음을 통해 공유


<mutex>

<mutex>는 표준 헤더를 포함 합니다. to define the classes mutex, recursive_mutex, timed_mutex, and recursive_timed_mutex; 템플릿은 lock_guardunique_lock. 한 형식과 상호 배타적 코드 영역을 정의 하는 함수를 지원 합니다.

이 헤더와 함께 다른 ConcRT 메커니즘 수 있도록 동시성 런타임 (ConcRT)를 사용 합니다.Concrt에 대 한 자세한 내용은 동시성 런타임.

#include <mutex>

설명

[!참고]

사용 하 여 컴파일되는 코드에 /clr 또는 /clr:pure,이 헤더를 차단 합니다.

클래스 mutexrecursive_mutex 는 뮤텍스 형식이.뮤텍스 형식이 기본 생성자 및 소멸자는 예외를 throw 하지 않은 있습니다.이러한 개체가 여러 스레드에서 동일한 개체에 잠글 때에 상호 배제를 제공 하는 방법이 있습니다.Mutex 형식 메서드를 포함 하는 특히 lock, try_lock, 및 unlock.

  • lock 메서드는 스레드가 뮤텍스의 소유권을 얻을 때까지 호출 스레드를 차단 합니다.반환 값은 무시 됩니다.

  • try_lock 메서드는 시도 차단 하지 않고 뮤텍스의 소유권을 가져올 수 있습니다.반환 형식으로 변환할 수 bool 하 고 true 메서드 소유권을 가져오는 하지만 그렇지 않은 경우 false.

  • unlock 메서드는 호출 스레드에서 뮤텍스의 소유권을 해제 합니다.

형식 인수로 mutex 형식 템플릿을 인스턴스화하는 데 사용할 lock_guardunique_lock.이러한 형식으로 개체를 사용할 수 있습니다에서 Lock 대기 멤버 함수 템플릿에 인수가 condition_variable_any.

A 뮤텍스 형식이 시간 뮤텍스 형식에 대 한 요구 사항을 충족 합니다.또한가 try_lock_fortry_lock_until 인수 하나를 사용 하 여 호출할 수 있어야 하 고 변환할 수 있는 형식을 반환 하는 메서드 bool.이러한 모든 추가 인수에 기본값이 있는 경우에 뮤텍스를 시간 제한 형식 추가 인수를 사용 하 여 이러한 함수를 정의할 수 있습니다.

  • try_lock_for 호출할 메서드 수 있어야 하나의 인수를 사용 하 여 Rel_time의 인스턴스 형식이 chrono::duration.메서드는 뮤텍스의 소유권을 얻으려고 하지만 지정 된 시간 내에 반환 Rel_time관계 없이 성공 합니다.반환 값으로 변환 true 메서드; 소유권을 얻는 경우 그렇지 않으면, 반환 값으로 변환 false.

  • try_lock_until 호출할 메서드 수 있어야 하나의 인수를 사용 하 여 Abs_time의 인스턴스 형식이 chrono::time_point.메서드는 뮤텍스의 소유권을 얻으려고 하지만 지정 된 시간 보다 더 나중에 다시 Abs_time관계 없이 성공 합니다.반환 값으로 변환 true 메서드; 소유권을 얻는 경우 그렇지 않으면, 반환 값으로 변환 false.

Mutex 형식 이라고는 잠글 수 형식.멤버 함수를 제공 하지 않는 경우 try_lock,이 잠글 수 있는 기본 형식.뮤텍스를 시간 제한 형식으로 알려진 되는 잠글 수 있는 형식을 제한 시간이.

Hh921467.collapse_all(ko-kr,VS.110).gif클래스

이름

설명

lock_guard 클래스

해당 소멸자의 잠금을 해제 하는 개체를 만들려면 인스턴스화할 수 있는 서식 파일을 나타내는 한 mutex.

mutex Class (STL)

뮤텍스 형식을 나타냅니다.프로그램 내에서 상호 배제를 적용 하기 위해이 형식의 개체를 사용 합니다.

recursive_mutex 클래스

뮤텍스 형식을 나타냅니다.에 이와 하는 mutex 클래스를 이미 잠긴 개체의 잠금 메서드를 호출 하는 동작입니다 잘.

recursive_timed_mutex 클래스

뮤텍스를 시간 제한 형식을으로 나타냅니다.사용 된 시간 제한 내에서 프로그램을 차단 하는 상호 배제를 적용 하기 위해이 형식의 개체를 합니다.형식의 개체와 달리 timed_mutex, 잠금 메서드를 호출 하는 효과 recursive_timed_mutex 개체 잘 정의 되어 있습니다.

timed_mutex 클래스

뮤텍스를 시간 제한 형식을으로 나타냅니다.사용 된 시간 제한 내에서 프로그램을 차단 하는 상호 배제를 적용 하기 위해이 형식의 개체를 합니다.

unique_lock 클래스

잠금 및 잠금의 관리 되는 개체를 만들려면 인스턴스화할 수 있는 서식 파일을 나타내는 한 mutex.

Hh921467.collapse_all(ko-kr,VS.110).gif기능

이름

설명

call_once 함수

실행 중 정확히 한 번만 지정한 호출 가능 개체를 호출 하는 메커니즘을 제공 합니다.

lock 함수

모든 인수 없이 교착 상태를 잠글 시도 합니다.

Hh921467.collapse_all(ko-kr,VS.110).gifStructs

이름

설명

adopt_lock_t 구조

나타내는 형식을 정의 하는 데 사용 되는 adopt_lock.

defer_lock_t 구조

정의 하는 형식을 나타내는 한 defer_lock 의 오버 로드 된 생성자 중 하나를 선택 하는 데 사용 되는 개체 unique_lock.

once_flag 구조

나타내는 한 struct 템플릿 함수를 사용 call_once 초기화 되도록 코드는 한 번만 실행의 다중 스레드 환경도 라고 합니다.

try_to_lock_t 구조

나타내는 한 struct 정의 하는 try_to_lock 개체 및 오버 로드 된 생성자 중 하나를 선택 하는 데 사용 됩니다 unique_lock.

Hh921467.collapse_all(ko-kr,VS.110).gif변수

이름

설명

변수 adopt_lock

생성자에 전달 될 수 있는 개체를 나타내는 lock_guardunique_lock 생성자에 전달 되 고 또한 뮤텍스 개체가 잠겨 있음을 나타내기 위해.

변수 defer_lock

생성자에 전달할 수 있는 개체를 나타내는 unique_lock나타내는 생성자도 전달 되는 뮤텍스 개체를 잠가야 합니다.

변수 try_to_lock

생성자에 전달할 수 있는 개체를 나타내는 unique_lock 생성자의 잠금을 해제 하려고 합니다 나타내려면는 mutex 도 되 고 전달을 차단 하지 않고.

참고 항목

기타 리소스

헤더 파일