-
假设线程1有以下两个步骤
1: 加入list
2:判断标记 -
假设线程2有以下三个步骤
A: 分发
B:清空List
C: 更改标记
步骤时序关系有以下组合:
1 2 A B C OK
1 A 2 B C OK
1 A B 2 C OK
1 A B C 2 NG 自己执行一遍(多一份无用操作)
A 1 2 B C NG 永久漏执行
A 1 B 2 C NG 永久漏执行
A 1 B C 2 NG 永久漏执行,并多执行一遍
A B 1 2 C NG 被迫等待别人来执行。
A B 1 C 2 OK
A B C 1 2 OK
网友评论