プログラムの同時実行に関するよくある銀行口座の問題.
Peter や Paul,Mary がそれぞれ勝手に下記のプロセスを実行したときに,結果としての口座残高のパターンをリスティングする.
(b)みたいに図を書く問題はメンドいから省略する!
# Peter: (set! balance (+ balance 10)) # Paul: (set! balance (- balance 20)) # Mary: (set! balance (- balance (/ balance 2)))
これで全部かな.
- Peter->Paul->Mary: $45
- Peter->Mary->Paul: $35
- Paul->Peter->Mary: $45
- Paul->Mary->Peter: $50
- Mary->Peter->Paul: $40
- Mary->Paul->Peter: $40