2014-10-04 2 views
0

세마포어를 사용하여 여러 프로세스 중 공유 배열에서 int을 제거하는 코드의 중요한 부분을 둘러싸고 있습니다.세마포어의 중요한 섹션에서 함수 호출

제 질문은 코드의 중요한 부분에서 도우미 함수를 호출하여 함수가 여전히 보호되는지 여부입니다.

그래서 예를 들어 나는이 윤곽 다음 코드가 있다면 :

mutex_lock(); 
    some_helper_function_call(); 
    mutex_unlock(); 

이 기능은 여전히 ​​이러한 잠금 장치로 보호 여부됩니다? 감사합니다.

답변

1

뮤텍스 잠금아래 코드가 무엇이든간에이 보호되어 있습니다. 따라서이 경우 some_helper_function_call();mutex으로 보호됩니다.

1

입니다. 세마포어가 뭔지 정말로 알지 못하는 것 같습니다. 메모리의 어딘가에 저장되는 정수입니다. 따라서 잠금을 설정하면 잠금을 해제하지 않으면 그 값이 변경되지 않습니다.