`
withyou
  • 浏览: 455020 次
社区版块
存档分类
最新评论

about java keyword volatile

阅读更多

在java 线程 3rd中3.2讲到了一个少用的关键字 volatile.

However, Java provides a more elegant solution: the volatile keyword. If a variable is marked as volatile, every time the variable is used it must be read from main memory. Similarly, every time the variable is written, the value must be stored in main memory. Since these operations are atomic, we can avoid the race condition in our example by marking our done flag as volatile.

 

在tij中也有讲述

 Thinking   in   java   的   13.7   范例   CanStop   里面有代码  
  //Must   be   volatile:  
  private   volatile   boolean   stop   =   false;  
  这里boolean类型应该就已经是原子操作了,不需要再保证了。  
   
  书里说   stop标志必须是volatile的,以便run()方法肯定看到他(否则的话,这个值可能本地缓存)  
   
  我猜想   volatile表示这个值可能被别的线程改变,所以被标志为volatile的变量,每次都是从存储区中读取变量对应的值,而不是在该线程中本地缓存的值。因为本地缓存的值不能及时反映其他线程对这个变量的影响。   
 

分享到:
评论

相关推荐

    java volatile 关键字实战

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

    Java线程:volatile关键字

    Java 线程 volatile 关键字详解 Java™ 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量。volatile 变量的同步性较差,但它有时更简单并且开销更低。volatile 变量可以被看作是一种 “程度较轻的 ...

    violate java-Java 之 volatile 超级详解

    Java中的`volatile`关键字是多线程编程中一个非常重要的概念,它用于修饰变量,确保在并发环境下,多个线程可以正确地共享和同步数据。本文将深入探讨`volatile`关键字的工作原理、特性以及如何使用它来解决多线程中...

    Java并发volatile关键字.docx

    Java并发编程中,volatile关键字扮演着重要的角色,它是一种轻量级的同步机制,与synchronized相比,volatile在性能上更优,因为它不会导致线程阻塞。在深入理解volatile的关键特性之前,我们需要先了解Java内存模型...

    【Java面试题】volatile的作用

    【Java面试题】volatile的作用

    java语言的volatile教程,java语言的volatile关键字是干什么用的

    java语言的volatile教程,java语言的volatile关键字到底怎么用

    Java并发编程:volatile关键字解析

    ### Java并发编程:volatile关键字解析 #### 一、内存模型的相关概念 在深入了解`volatile`关键字之前,我们首先需要理解计算机内存模型的一些基本概念。在现代计算机系统中,CPU为了提高执行效率,会将频繁访问的...

    java volatile 关键字 学习

    java volatile 关键字 学习

    解析java中volatile关键字

    Java中的`volatile`关键字是多线程编程中的一个重要概念,它的主要作用是解决并发环境下的可见性和有序性问题。在Java内存模型(JMM)中,每个线程都有自己的工作内存,其中包含了线程对共享变量的副本。线程间的...

    Java中volatile关键字的总结.docx

    Java中的`volatile`关键字是用于处理并发编程中线程间通信和可见性的重要工具。它是一种轻量级的同步机制,比`synchronized`锁更为高效,因为它不会导致线程上下文的切换和调度,减少了不必要的开销。然而,`...

    Java并发volatile可见性的验证实现

    Java并发volatile可见性的验证实现 在Java并发编程中,volatile关键字扮演着非常重要的角色,它可以确保变量的可见性和原子性。在多线程环境下,volatile关键字可以确保变量的修改对其他线程是可见的。本文将通过...

    java 中volatile和lock原理分析

    《Java中volatile与锁原理分析》 在多线程编程中,确保数据的一致性和可见性是至关重要的。Java提供了两种主要的机制来实现这一目标:volatile关键字和锁。本文将深入探讨这两种机制的原理,以及它们在实际编程中的...

    Java volatile与AQS锁内存可见性

    从JUC中的AQS引入,讲解Java volatile与AQS锁内存可见性

    java里的volatile关键字详解

    "Java中的Volatile关键字详解" Java中的Volatile关键字详解是Java中的一种关键字,用于保证线程之间的可见性、原子性和有序性。下面是对Java中的Volatile关键字详解的知识点总结: 一、基本概念 1. 可见性:可见...

    一文精通Java中的volatile关键字

    Java中的`volatile`关键字是多线程编程中的一个重要概念,它的主要作用是确保共享变量的可见性和禁止指令重排序。本文将深入探讨`volatile`的关键特性、工作原理以及使用注意事项。 1. 可见性: `volatile`关键字...

    Java里volatile关键字是什么意思

    Java中的`volatile`关键字是用来解决多线程环境下的可见性和有序性问题的。它确保了被`volatile`修饰的变量在任何线程中都具有最新的值,但并不保证线程安全,即不保证并发操作的原子性。 首先,我们要理解Java内存...

    Java的Volatile实例用法及讲解

    Java的Volatile实例用法及讲解 Java的Volatile关键字是Java语言中一种特殊的修饰符,在多线程编程中发挥着重要作用。Volatile关键字主要在可见性中发挥作用,保证了变量的可见性,使得变量的变化可以被其他线程立即...

    Java中Volatile的作用实例解析

    Java 中 Volatile 的作用实例解析 Volatile 变量在 Java 语言中扮演着重要的角色,它可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少...

    Java——volatile关键字详解

    Java中的`volatile`关键字是一个非常重要的并发控制工具,它提供了比`synchronized`关键字更为轻量级的同步机制。`volatile`关键字的主要作用是确保多线程环境下的可见性和禁止指令重排序,但不保证原子性。 **...

    Java volatile关键字详解.docx

    volatile

Global site tag (gtag.js) - Google Analytics