Skip to content

Commit 659a380

Browse files
committed
book: typo fixes in 07-thread.md
Fixes changkun#125
1 parent c9f8eb7 commit 659a380

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

book/zh-cn/07-thread.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ int main() {
261261
从直观上看,`t2``a = 5;` 这一条语句似乎总在 `flag = 1;` 之前得到执行,而 `t1``while (flag != 1)`
262262
似乎保证了 `std::cout << "b = " << b << std::endl;` 不会再标记被改变前执行。从逻辑上看,似乎 `b` 的值应该等于 5。
263263
但实际情况远比此复杂得多,或者说这段代码本身属于未定义的行为,因为对于 `a``flag` 而言,他们在两个并行的线程中被读写,
264-
出现了竞争。除此之外,即便我们忽略竞争读写,仍然可能收 CPU 的乱序执行,编译器对指令的重排的影响,
264+
出现了竞争。除此之外,即便我们忽略竞争读写,仍然可能受 CPU 的乱序执行,编译器对指令的重排的影响,
265265
导致 `a = 5` 发生在 `flag = 1` 之后。从而 `b` 可能输出 0。
266266

267267
### 原子操作

0 commit comments

Comments
 (0)