동기화 예제
- 자원의 관점에서는 공유이며
- control transfer를 위해서 사용될 수도 있다.
유한 버퍼 문제
- 공유자원은 기본적으로 감싸주고
- count를 empty, full로
readers-writers문제
- reader는 전혀 상관 X
- writer는 수행 도중 다른 reader, writer가 절대로 못 들어오게끔 해야 함
철학자들
- 무조건, 두개다 집지 않으면 식사조차 못 하도록 한다. ( 뮤텍스를 통해 한명만 식사시키는 것도 방법)
- 혹은, ㅅ ㅏ람 수를 주린다.
- 혹은, 포크를 집는 순서를 정한다. 홀수번호는 오른쪽 먼저, 짝수번호는 왼쪽 먼저
- ....## 모니터쓰는데너무무섭다
커널 내의 동기화
윈도우즈의 동기화
대체방안들
트랜잭션 메모리
- 그냥 중간에 뭔가 문제 발생하면 rollback 시키고, 아니면 commit 시키고 이런 방식으로 하겠네.
open mp
락을 쓰는게 아니라, 그냥 하나의 쓰레드만 접근 가능하도록
함수형프로그래밍
상태를 유지하지 않는다.
어차피 상태를 유지하지 않기 때문에 교착상태가 없다.