関数型言語の勉強にSICPを読もう - (44) 3章 - 標準部品化力、オブジェクトおよび状態 (175-180ページ)
3.4並列性:時が本質的
読む前の想像では atomicな処理とか semaphore とか、dead lock などの話であると予想。
このあたりはMonaで必要に迫られて結構勉強したから得意なはず。
問題3.38
Perter, Paul, Maryの共同口座だそうです。
Puff the Magic Dragonを聞きたくなった。
今回はギリギリ元ネタに気づいたけど実はSICPってネタ満載なのだろうか?
a
逐次的なので6通り。
Peter | Paul | Mary | 45 |
Peter | Mary | Paul | 35 |
Mary | Paul | Peter | 40 |
Mary | Peter | Paul | 40 |
Paul | Peter | Mary | 45 |
Paul | Mary | Peter | 50 |
b
図が面倒なので略。
問題3.39
101
121
110→起こらない
11→起こらない
100
問題3.40
(define x 10) (parallel-execute (lambda () (set! x (* x x))) (lambda () (set! x (* x x x))))
とりあえず掛け算の演算自体は atomicであるという前提で進める。
Process1 | P1読み取り1 | P1読み取り2 | P1掛け合わせる | P1set!する | |
Process2 | P2読み取り | P2読み取り2 | P2読み取り3 | P2掛け合わせる | P2set!する |
これがいい感じで混ざる。
直列化すると
1,000,000と100,000,000の2通りのみ。
計算機プログラムの構造と解釈
posted with amazlet on 06.04.15
Gerald Jay Sussman Julie Sussman Harold Abelson 和田 英一
ピアソンエデュケーション (2000/02)
売り上げランキング: 56,404
ピアソンエデュケーション (2000/02)
売り上げランキング: 56,404