`
jeffmacn
  • 浏览: 2573 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

加不加Volatile看不出有啥效果啊?

阅读更多
import java.util.concurrent.atomic.AtomicInteger;

public class VolatilePattern1 extends Thread{

	volatile boolean shutdownRequested;
	private AtomicInteger count = new AtomicInteger();

	public void shutdown() {
		shutdownRequested = true;
	}

	public void run() { 
		System.out.println("Thread:" + Thread.currentThread().getName()+" started.");
    while (!shutdownRequested) { 
        System.out.println("working ..."+count);
        count.getAndIncrement();
        try {
					Thread.sleep(50);
				} catch(InterruptedException ie) {
					ie.printStackTrace();			
				}
    }
	}
	
	public static void main(String[] args) {
		System.out.println("Thread:" + Thread.currentThread().getName()+" started.");
		VolatilePattern1 vp = new VolatilePattern1();
		vp.start();
		try {
			Thread.sleep(2000);
		} catch(InterruptedException ie) {
			ie.printStackTrace();			
		} finally {
			vp.shutdown();
		}
	}

}
分享到:
评论

相关推荐

    volatile的使用

    一般说来,volatile用在如下的几个地方: 1、中断服务程序中修改的供其它程序检测的变量需要加volatile; 2、多任务环境下各任务间共享的标志应该加volatile; 3、存储器映射的硬件寄存器通常也要加volatile说明,...

    Volatile详解,深入学习Volatile

    详细说明 并举例说明了VOlatile的作用及用法,特别是嵌入式程序员要注意的

    从汇编角度理解volatile

    一般对于volatile的解释是这样的:将变量定义为volatile可以防止编译器对变量进行优化,每次均从内存中访问变量,而不是寄存器。既然让编译器优化可以提高访问速度,那为什么又要不用它以及什么时候不用它?其实主要...

    volatile源码分析1

    前言Java中volatile这个热门的关键字,在面试中经常会被提及,在各种技术交流群中也经常被讨论,但似乎讨论不出一个完美的结果,带着种种疑惑,准备从JVM、

    java volatile 关键字实战

    java volatile 关键字实战java volatile 关键字实战java volatile 关键字实战java volatile 关键字实战java volatile 关键字实战java volatile 关键字实战java volatile 关键字实战java volatile 关键字实战java ...

    C中的volatile用法

    C中的volatile用法 ,以前编程的时候不是很注意这个关键字,后来在AVR使用的时候被搞得一塌糊涂。最后发现是编译器优化造成的

    单片机C语言中volatile的作用

    本文给大家介绍了单片机C语言中volatile的作用。

    C语言中关键字volatile的作用

    C语言中关键字volatile的作用,使用说明和例子

    volatile变量详解

    容易忽略的变量声明,但是很重要 volatile的作用: 作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值.

    const和volatile分析

    const和volatile分析 这个分析得很好 面试 找工作 必备的

    volatile的用法讲解

    volatile的用法讲解,讲得很详细,希望能帮助到大家

    volatile和原子操作有没有关系,我的实验+别人论文

    对volatile的原子性做探究,加上自己的实验代码和实验结果! Case多核?单核?是否有volatile是否编译器优化-O2结果!

    Java线程:volatile关键字

    主要讲述java线程volatile关键字

    volatile的用法

    volatile的用法,在写代码正确使用volatile,正确理解volatile的用法,增强代码的健壮性

    volatile用法

    c语言下关键字的volatile用法,包含一些基本例子

    volatile变量

    一个定义为volatile的变量是说这变量可能会被 意想不到地改变,这样,编译器就不会去假设这 个变量的值了。精确地说就是,优化器在用到这 个变量时必须每次都小心地重新读取这个变量的 值,而不是使用保存在寄存器里...

    深入理解Java内存模型??volatile

    当我们声明共享变量为volatile后,对这个变量的读/写将会很特别。理解volatile特性的一个好方法是:把对volatile变量的单个读/写,看成是使用同一个监视器锁对这些单个读/写操作做了同步。下面我们通过具体的示例来...

    volatile的使用方法

    C程序中volatile关键字的使用.方法及其例程介绍。

    volatile与synchronized的区别

    volatile与synchronized的区别,锁提供了两种主要特性:互斥(mutual exclusion) 和可见性(visibility)

    volatile_unsigned_int

    讲述了volatile_unsigned_int地址映射的使用说明。

Global site tag (gtag.js) - Google Analytics