84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
volatile修饰的成员变量与普通成员变量有啥区别呢,两者都是非线程安全的,什么时候会用到volatile
两句话:
volatile变量的更新操作通知到其他线程,保证了新值能立即同步到主内存,以及"每次使用前"立即从主内存刷新
但volatile变量并非线程安全,因为"每次使用前"只是表示从主内存加载到线程工作内存的值是最新的,某线程在函数调用中拿的是线程工作内存的值,这个时候主内存上的volatile值可能早就更新了
两句话:
volatile变量的更新操作通知到其他线程,保证了新值能立即同步到主内存,以及"每次使用前"立即从主内存刷新
但volatile变量并非线程安全,因为"每次使用前"只是表示从主内存加载到线程工作内存的值是最新的,某线程在函数调用中拿的是线程工作内存的值,这个时候主内存上的volatile值可能早就更新了