java 多线程 volatile 关键字分析
2017-01-25 09:33
405 查看
public class TestVolatileDemo { //加 volatile 或者 System.out.println(bChanged); 每次都能退出 //不加 有时候退出 有时候死循环 // // volatile private static boolean bChanged = false; public static void main(String[] args) throws Exception { new Thread() { @Override public void run() { for (;;) { //synchronized (TestVolatileDemo.class) { // 加上同步锁 当前线程的变量bChanged 会变成 volatile 的效果 //} if (bChanged == !bChanged) { System.out.println("!= "+bChanged); System.exit(0); } } } }.start(); Thread.sleep(1); new Thread() { @Override public void run() { for (;;) { bChanged = !bChanged; //System.out.println(".."); } } }.start(); } }
相关文章推荐
- Java多线程(一)之volatile深入分析
- Java多线程的volatile关键字
- java多线程关键字_volatile
- Java 多线程:volatile 多线程同步关键字
- java多线程之volatile关键字
- Java多线程(一)之volatile深入分析
- java-多线程深入(四)Volatile分析
- Java——多线程总结及ThreadLocal、Volatile、synchronized、Atomic四个关键字
- java多线程学习笔记——volatile关键字
- JAVA多线程-对象及变量的并发访问(二)volatile关键字
- java关键字volatile和synchronized在多线程中的应用
- Java多线程之volatile深入分析
- java中volatile关键字在多线程中也存在的问题
- java多线程之volatile关键字与线程栈内存
- 初学Java多线程:慎重使用volatile关键字
- 初学Java多线程:慎重使用volatile关键字
- Java多线程-(7)volatile关键字
- JAVA 多线程之~~volatile关键字
- java多线程--volatile关键字
- Java多线程(一)之volatile深入分析