From 75a37c10668fd49cc12d1f447a1984f16596fa30 Mon Sep 17 00:00:00 2001 From: Hanlei Qin Date: Tue, 5 Dec 2017 23:20:21 +0800 Subject: [PATCH] Update ch9-01.md --- ch9/ch9-01.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ch9/ch9-01.md b/ch9/ch9-01.md index 557b732..dd963ee 100644 --- a/ch9/ch9-01.md +++ b/ch9/ch9-01.md @@ -40,11 +40,11 @@ go bank.Deposit(100) // B Alice存了$200,然后检查她的余额,同时Bob存了$100。因为A1和A2是和B并发执行的,我们没法预测他们发生的先后顺序。直观地来看的话,我们会认为其执行顺序只有三种可能性:“Alice先”,“Bob先”以及“Alice/Bob/Alice”交错执行。下面的表格会展示经过每一步骤后balance变量的值。引号里的字符串表示余额单。 ``` -Alice first Bob first Alice/Bob/Alice -0 0 0 -A1 200 B 100 A1 200 -A2 "=200" A1 300 B 300 -B 300 A2 "=300" A2 "=300" +Alice first Bob first Alice/Bob/Alice + 0 0 0 + A1 200 B 100 A1 200 + A2 "= 200" A1 300 B 300 + B 300 A2 "= 300" A2 "= 300" ``` 所有情况下最终的余额都是$300。唯一的变数是Alice的余额单是否包含了Bob交易,不过无论怎么着客户都不会在意。