Blob


1 ;; Exercise 3.40. Give all possible values of x that can result from executing
3 (define x 10)
5 (parallel-execute (lambda () (set! x (* x x)))
6 (lambda () (set! x (* x x x))))
8 ;; 10^2, 10^3, 10^4, 10^5, 10^6
10 ;; Which of these possibilities remain if we instead use serialized procedures:
12 (define x 10)
14 (define s (make-serializer))
16 (parallel-execute (s (lambda () (set! x (* x x))))
17 (s (lambda () (set! x (* x x x)))))
19 ;; 10^6