mirror of
https://github.com/gopl-zh/gopl-zh.github.com.git
synced 2024-12-25 22:38:56 +00:00
Update ch9-01.md
This commit is contained in:
parent
d9c9556a66
commit
75a37c1066
@ -40,11 +40,11 @@ go bank.Deposit(100) // B
|
|||||||
Alice存了$200,然后检查她的余额,同时Bob存了$100。因为A1和A2是和B并发执行的,我们没法预测他们发生的先后顺序。直观地来看的话,我们会认为其执行顺序只有三种可能性:“Alice先”,“Bob先”以及“Alice/Bob/Alice”交错执行。下面的表格会展示经过每一步骤后balance变量的值。引号里的字符串表示余额单。
|
Alice存了$200,然后检查她的余额,同时Bob存了$100。因为A1和A2是和B并发执行的,我们没法预测他们发生的先后顺序。直观地来看的话,我们会认为其执行顺序只有三种可能性:“Alice先”,“Bob先”以及“Alice/Bob/Alice”交错执行。下面的表格会展示经过每一步骤后balance变量的值。引号里的字符串表示余额单。
|
||||||
|
|
||||||
```
|
```
|
||||||
Alice first Bob first Alice/Bob/Alice
|
Alice first Bob first Alice/Bob/Alice
|
||||||
0 0 0
|
0 0 0
|
||||||
A1 200 B 100 A1 200
|
A1 200 B 100 A1 200
|
||||||
A2 "=200" A1 300 B 300
|
A2 "= 200" A1 300 B 300
|
||||||
B 300 A2 "=300" A2 "=300"
|
B 300 A2 "= 300" A2 "= 300"
|
||||||
```
|
```
|
||||||
|
|
||||||
所有情况下最终的余额都是$300。唯一的变数是Alice的余额单是否包含了Bob交易,不过无论怎么着客户都不会在意。
|
所有情况下最终的余额都是$300。唯一的变数是Alice的余额单是否包含了Bob交易,不过无论怎么着客户都不会在意。
|
||||||
|
Loading…
Reference in New Issue
Block a user