????? - Thread interference
???????????? ???????[ 2016/10/28 10:23:58 ] ????????Java ???
??????????????????????????????????????????????Ч???????????????????????thread interference?? ?? ???????????memory consistensy errors????
??????????????????????? ????????thread synchronization???????????????????????????????????????
???????????????????????????????
?????????
????????????????????????????????????????????????????? (Thread interference)
?????????ζ????????????????????????????????????????У????2??輕??
???????????
??????????????? Counter
????<code class="java">class Counter {
????private int c = 0;
????public void increment() {
????c++;
????}
????public void decrement() {
????c--;
????}
????public int value() {
????return c;
????}
????}</code>
????????????Counter?е?????????????????????increment()?????У??? statement ??c++??
????????????????????? statement????JVM???????????????? —— ???? statement ????????
??????????? statement c++?????????????? ( c--??? )
??????????c???
????????????????1
?????????????洢??c??????????
???????裬???A????increment()?????????B????decrement()??????????????????????????
????Thread A: ??? c.
????Thread B: ??? c.
????Thread A: ???????????? 1.
????Thread B: ???????????? -1.
????Thread A: ?????????洢?? c; c == 1.
????Thread B: ?????????洢?? c; c == -1.
???????A??????????????B????????????????????????????????B??????A?????????н?????
?????????????? —— ????? ????????????bug???????????????
??????
![](/images/ad-banner/ad-banner.png)
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11