阅读背景:

java多线程多synchrnized和volatile深刻理解

来源:互联网 
package com.company.javaThreadTest;

/**
 * Created by likailong on 2016/10/24.
 * volatile非原子特性
 * 如果   private static void add(){
             for(int i=0;i<100;i++){
             count++;
             }
             System.out.println("count="+count);
   改为加个synchronized
 }
 volatile多线程感知变量改变
 */
public class VolatileThread3 extends Thread {
    volatile public static int count;
    synchronized private static void add(){
        for(int i=0;i<100;i++){
            count++;
        }
        System.out.println("count="+count);
    }
    public void run(){
        add();
    }
    public static void main(String [] args){
        VolatileThread3[] m=new VolatileThread3[100];
        for(int i=0;i<100;i++){
            m[i]=new VolatileThread3();
        }
        for(int i=0;i<100;i++){
            m[i].start();
        }
    }
}
package com.company.javaThreadTest;

/**
 * Cre



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: