volatile的作用:使变量在多个线程间可见,但是不具备原子性,需要注意的是一般volatile用于只针对多个线程可见的变量操作,并不能代替synchronized的同步功能。
实例说话:现如今我有一个数据count,10线程对他进行操作,每个线程在count原有的基础上增加100,理想结果应该是10个线程执行完毕之后count是1000,但是实际情况呢……
看代码:
package com.tgb.thread;
/**
* Created by oxj on 2017/8/10.
*/
public class VolatileTest extends Thread{
//定义一个带有volatile修饰的int类型的静态变量
private static volatile int count;
public