posix 표준 라이브러리 사용해서 뮤텍스 구현 예시들 보면
(다른건 다 생략할게요 !)
1.
for(int I = 0 ; I < 100000; I++)
{
pthread_mutex_lock();
val = val + 10;
pthread_mutex_unlock();
}
2.
pthread_mutex_lock();
for(int I = 0 ; I < 100000; I++)
{
val = val + 10;
}
pthread_mutex_unlock();
이렇게 1, 2 방식의 차이와 어떤게 더 효율적인지 궁금합니다.
처음 공부하고 있는데 어떻게 검색해야 이를 비교 할 수 있는지 잘 모르겠네요 ㅠㅠ
상황에 따라 다릅니다. for문 1회 수행시 연산이 많다면 for 안에 뮤텍스를 그게 아니라 모든 for 반복이 끝난 이후에 자원 공유를 하겠다면 for를 감싸는 뮤텍스로
효율 문제가 아니라 결과가 다르잖어