Practice 3.41
并发程序不正常的行为就是不同的顺序会导致不同的结果
(define balance (make-account balance))
((balance 'deposit) 100)
a: (balance ‘balance)
b: ((balance ‘withdraw) 100)
a,b并发有两种可能的顺序
a -> b
; balance 0
b -> a
; balance 0
c: (balance ‘balance) d: ((balance ‘deposit) 10)
c,d并发也有两种可能的顺序
c -> d
; balance 110
d -> c
; balance 110
balance的并发时的不同顺序最终结果相同,所以(balance ‘balance)不会对其他操作产生影响,Ben的做法没有什么提高