간단한 질문 - 기본적으로 뮤텍스의 잠금을 해제해야합니까? 아니면 단순히 범위 연산자를 사용할 수 있습니까? 뮤텍스가 자동으로 잠금 해제됩니다.뮤텍스가 범위를 벗어날 때 잠금 해제됩니까?
예 :
{
pthread_mutex_lock (&myMutex);
sharedResource++;
} // my mutex is now unlocked?
또는해야 내가 다음 RAII 범위의 방법을 사용하여
{
pthread_mutex_lock (&myMutex);
sharedResource++;
pthread_mutex_unlock (&myMutex);
}
어떤 뮤텍스 구현을 사용하고 있습니까? 뮤텍스 구현이 RAII를 지원하지 않는다면 명시 적으로 뮤텍스를 해제해야 할 것입니다. – Void
고마워요 @ 보이드. 나는 pthread.h를 사용하고있다. 즉, pthread_mutex_unlock() 및 pthread_mutex_lock()입니다. RAII 란 무엇입니까? –
@AmitNayar : http://en.wikipedia.org/wiki/Resource_Acquisition_Is_ 초기화를 참조하십시오.그것은 아마도 C++에서 가장 중요한 관용구 일 것입니다. 왜냐하면 메모리와 다른 동적 리소스를 제대로 관리하지 못하기 때문입니다. –