multi-threaded application에서 mutex(lock)을 많이 쓴다.
프로그래머들이 흔히 저지르는 실수가 있다.
바로, lock이 풀리는 순서는 정해져있지 않다는 것이다.
예를 들면, A,B,C의 Thread에서 순서대로(시간 순) 공유 리소스에 lock을 걸었고, 모두 wait상태였다고 치자.
lock이 풀리는 순간, A,B,C의 순서로 권한을 주는 것이 아니다. 예측할 수 없는 순서대로 기회가 주어진다. 즉, Thread Scheduling 알고리즘에 따라서 바뀐다.
도움이 되셨다면, 광고 클릭을 ㅎㅎ ^^
2011년 3월 16일 수요일
2011년 3월 13일 일요일
Mutex
Critical Section , Shared Resource의 동기화를 위한 것이다.
Mutex는 프로그래머들이 잘 이해하고 있는 것 같다.
하지만, 사용 방법에 대해서 좀 더 넓은 시각이 필요하다.
이젠, 바야흐로 멀티 프로세서시대이다.
2개가 아니라. 4개. 4개가 아니라 8개이상이 쓰인다.
젓가락이 두개가 아니라, 8개 이상 쓰일 경우가 많아진다는 뜻이다.
그런데, 제공되는 음식은 1개씩 먹으라고 한다면, 젓가락을 들고 있는 시간이
많아질 수 밖에 없다.
이제, 동시에 제공되는 음식 접시 수를 늘려야한다!
도움이 되셨다면, 광고 클릭을 ㅎㅎ ^^
Mutex는 프로그래머들이 잘 이해하고 있는 것 같다.
하지만, 사용 방법에 대해서 좀 더 넓은 시각이 필요하다.
이젠, 바야흐로 멀티 프로세서시대이다.
2개가 아니라. 4개. 4개가 아니라 8개이상이 쓰인다.
젓가락이 두개가 아니라, 8개 이상 쓰일 경우가 많아진다는 뜻이다.
그런데, 제공되는 음식은 1개씩 먹으라고 한다면, 젓가락을 들고 있는 시간이
많아질 수 밖에 없다.
이제, 동시에 제공되는 음식 접시 수를 늘려야한다!
도움이 되셨다면, 광고 클릭을 ㅎㅎ ^^
피드 구독하기:
글 (Atom)