Namespaces
Variants

mtx_trylock

From cppreference.net
헤더 파일에 정의됨 <threads.h>
int mtx_trylock ( mtx_t * mutex ) ;
(C11 이후)

mutex 가 가리키는 뮤텍스를 블로킹 없이 잠그려 시도합니다. 뮤텍스가 이미 잠겨 있는 경우 즉시 반환됩니다.

동일한 뮤텍스에 대한 이전의 mtx_unlock 호출은 이 연산과 동기화됩니다 (이 연산이 성공할 경우). 또한 모든 주어진 뮤텍스에 대한 lock/unlock 연산들은 단일 전체 순서를 형성합니다 (원자 변수의 수정 순서와 유사하게)

목차

매개변수

mutex - 잠글 뮤텍스에 대한 포인터

반환값

thrd_success 성공 시, thrd_busy 뮤텍스가 이미 잠겨 있거나 사용 가능한 뮤텍스를 획득하지 못하는 허위 실패(spurious failure)로 인한 경우, thrd_error 오류가 발생한 경우.

결함 보고서

다음의 동작 변경 결함 보고서들은 이전에 발표된 C 표준에 소급 적용되었습니다.

DR 적용 대상 게시된 동작 올바른 동작
DR 470 C11 mtx_trylock 이 무작위로 실패하는 것이 허용되지 않았음 허용됨

참고문헌

  • C17 표준 (ISO/IEC 9899:2018):
  • 7.26.4.5 mtx_trylock 함수 (p: 278-279)
  • C11 표준 (ISO/IEC 9899:2011):
  • 7.26.4.5 mtx_trylock 함수 (p: 382)

참고 항목

뮤텍스를 잠글 때까지 블록
(함수)
뮤텍스를 잠글 때까지 블록하거나 타임아웃
(함수)
뮤텍스를 잠금 해제
(함수)
C++ documentation for mutex::try_lock
C++ documentation for timed_mutex::try_lock
C++ documentation for recursive_mutex::try_lock
C++ documentation for recursive_timed_mutex::try_lock