diff --git "a/\346\240\241\346\213\233\351\235\242\350\257\225/JUC/2_\350\260\210\350\260\210CAS/5_CAS\345\272\225\345\261\202\345\216\237\347\220\206/README.md" "b/\346\240\241\346\213\233\351\235\242\350\257\225/JUC/2_\350\260\210\350\260\210CAS/5_CAS\345\272\225\345\261\202\345\216\237\347\220\206/README.md" index b0be4d7808957683794898e035ce9a257db0cf9c..0a9b2dedf7891d9a0e33fb71f6d830f91c606f60 100644 --- "a/\346\240\241\346\213\233\351\235\242\350\257\225/JUC/2_\350\260\210\350\260\210CAS/5_CAS\345\272\225\345\261\202\345\216\237\347\220\206/README.md" +++ "b/\346\240\241\346\213\233\351\235\242\350\257\225/JUC/2_\350\260\210\350\260\210CAS/5_CAS\345\272\225\345\261\202\345\216\237\347\220\206/README.md" @@ -98,7 +98,7 @@ Unsafe是CAS的核心类,由于Java方法无法直接访问底层系统,需 ![image-20200310210701761](images/image-20200310210701761.png) -var5:就是我们从主内存中拷贝到工作内存中的值 +var5:就是我们从主内存中拷贝到工作内存中的值(每次都要从主内存拿到最新的值到自己的本地内存,然后执行compareAndSwapInt()在再和主内存的值进行比较。因为线程不可以直接越过高速缓存,直接操作主内存,所以执行上述方法需要比较一次,在执行加1操作) 那么操作的时候,需要比较工作内存中的值,和主内存中的值进行比较