상황 : 두 가지 방법이 있습니다. 방법 1은 config 값을로드합니다. 방법 2은로드 된 구성의 값을 반환합니다. 두 가지 방법 모두 다른 스레드에서 호출 할 수 있습니다.다른 뮤텍스를 같은 방법으로 사용할 수 있습니까?
이 문제를 : 나는/잠금 뮤텍스를 사용하려면는 두 가지 방법으로 잠금을 해제합니다. 그래서 방법 항목은 방법 2는 또한를 고정해야한다라고를 잠겨있을 때. 뮤텍스에 대해 읽었을 때 혼란스러워졌습니다. 잠금 해제가 호출 될 때까지 코드 영역을 잠그고 있다고합니다.
질문 : 나는 method1을 잠글 때 method2도 잠근 것입니까?
기대 : method2가 method2에서 반환 할 구성 데이터를 업데이트 할 때 호출 될 method2입니다.
샘플 코드 :이 뮤텍스가 사용되는 방법을 정확하게
void Class::method1() {
pthread_mutex_lock(mutex1);
string1 = "a value";
pthread_mutex_unlock(mutex1);
};
void Class::method2(string& aString) {
pthread_mutex_lock(mutex1);
aString = string1;
pthread_mutex_unlock(mutex1);
return;
};
* 다른 *을 호출하는 두 가지 방법 중 하나를 사용하지 않으려 고합니다. 맞습니까? 그렇지 않다면 하나의 뮤텍스가 적당 해 보일 것입니다. – WhozCraig
로더는 입력 파일을 매개 변수로 사용하도록 설계 되었습니까? 그렇지 않으면 getter 주위에 게으른 초기화 프로그램이 더 나은 선택 일 수 있습니다. 복잡성을 줄이려면 메소드 2를 통해 얻는 것이 좋습니다. – nerdwaller
method1이 config를 업데이트 할 때 호출되는 method2 method2에 의해 리턴 될 데이터. –