이 문제는 병행성(Concurrency)에 대한 얘기를 하고 있습니다.
a.
세 사람이 행한 일이 완전히 끝난 다음에 남아있는 balance 값을 적는 문제입니다.
세 사건이 일어나는 순서의 개수는 3! = 6가지입니다.
Peter의 일을 ⓐ, Paul : ⓑ, Mary : ⓒ로 하겠습니다.
첫 번째 일 - 두 번째 일 - 세 번째 일 : 최종 balance 값
ⓐ - ⓑ - ⓒ : 45원
ⓐ - ⓒ - ⓑ : 35원
ⓑ - ⓐ - ⓒ : 45원
ⓑ - ⓒ - ⓐ : 50원
ⓒ - ⓐ - ⓑ : 40원
ⓒ - ⓑ - ⓐ : 40원
같은 일이라 하더라도 그 결과값이 다르군요.^^;;;
b.
모든 프로세스가 뒤섞여 돌아가는 시스템이라는 것을 정확히 이해하지 못했지만,
그림 3.29와 같은 시간 흐름도라고 하였기에 이를 바탕으로 만들었습니다.

여기서 은행 계좌에 들어오는 순서는 위에서 말한 것처럼 총 6가지입니다.
따라서 50원이거나 80원이거나 110원이 남게됩니다.
그럼 정말 난감한 일이 되네요.^^;;
참조
해럴드 애빌슨, 김재우 역, <컴퓨터 프로그램의 구조와 해석>, 인사이트, 2007, pp. 392
"in OCW" 카테고리의 다른 글
- SICP Exercise 연습문제 3.39 (0)2008/07/16
- DrScheme(PLT-Scheme)에서 병행성(concurrency) ... (2)2008/07/15
- MIT/GNU Scheme - Windows 사용법 (4)2008/07/15
- SICP Exercise 연습문제 3.38 (0)2008/07/14
- SICP Exercise 연습문제 3.37 (0)2008/07/13
- SICP Exercise 연습문제 3.36 (0)2008/07/13
- SICP Exercise 연습문제 3.35 (0)2008/07/12
글에 잘못된 점, 다른 점, 부족한 점이 있다면 지적해주세요.
댓글, 트랙백, 메일 모두 고맙습니다.








댓글을 달아 주세요