???????Java????????????????
???????????? ???????[ 2013/3/18 10:27:21 ] ????????
?????????????????????????????????????????????δ?????????????????????е??????????
????δ????????????????????????????????????????????????????????????????μ????????????????????????A??B???????????????B1->A1->A2->B2->A3->B3?????????????????????????????????????е?????????????????????????????
???????????JMM?????????????δ?????????JMM?в????????????????????????????????????????????????????????????磬????????д????????????????????У?????????μ?????????????д??????????????????????????????????????????д????????????б?????????С???е??????????????д??????????μ????????????д??????????????????????????????£???????????????????????????????????
????????????????????Ч??
????????????????????????ReorderExample?ü?????????????????????????????ξ????????????
??????????????????
class SynchronizedExample {
int a = 0;
boolean flag = false;
public synchronized void writer() {
a = 1;
flag = true;
}
public synchronized void reader() {
if (flag) {
int i = a;
……
}
}
}
????????????????У?????A??????writer()??????B??????reader()????????????????????????????????JMM?淶???ó??????н??????ó?????????????????е???н?????????????ó????????????????е????????????
??????????????????У????в????????????????????С?????JMM?У???????????????????????JMM?????????????????“???”??????????????????????????????壩??JMM???????????????????????????????????????Щ?????????????????????????????????????????????????????????????????????????????A?????????????????????????????????????е??????????????B???????“???”?????A???????????????????????????????????Ч???????и????????н????
????????????????????JMM???????????????????????????????????????н????????£?????????????????????????????????????
??????
???·???
??????????????????
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