2011-04-09 3 views
0

리눅스를 통해 pthread 뮤텍스에 대한 래퍼를 쓰고 싶은 OS 추상화 라이브러리를 작성 중입니다.스레드 안전 pthread 뮤텍스 잠금 래퍼

이 코드는 다중 스레드에 의해 호출됩니다.

int my_lock(pthread_mutex_t *mutex) 
{ 
    return pthread_mutex_lock(mutex); 
} 
  1. 는 함수 my_lock는 스레드 안전합니다 것인가 :

    코드는 다음과 같이 간다?

  2. 그렇지 않은 경우 스레드로부터 안전하게 보호하려면 어떻게해야합니까?

답변

2

이것은 당신의 함수로 게시 무엇 :

int my_lock(pthread_mutex_t *mutex) 
{ 
    return pthread_mutex_lock(mutex); 
} 

왜 당신도 여기에 기능을 필요합니까?

코드는 사용자가 제시 한 것처럼 스레드로부터 안전합니다.

0

중첩 된 함수 호출처럼 보입니다. pthread_mutex_lock을 반환하는 대신 루틴에서 바로 사용할 수 있습니다. 이렇게하면 한 함수에서 다른 함수로 점프 명령을 피하는 실행 시간이 단축됩니다.