zoukankan      html  css  js  c++  java
  • java内存模型和volatile关键字

    java memory model(简称jmm)并不存在,描述了一组规则或者规范,通过这种规范,定义了程序中变量的访问方式,java工作主要是在线程上工作的,每个线程都有一个工作内存,所有的变量都存放在主内存中,线程对变量的操作都必须是在工作内存中进行,不同线程之间无法访问对方工作内存中的变量,他们之间访问必须通过主内存。线程对内存中变量的操作有八种:

    lock:针对主内存中的变量,lock代表锁定线程中的变量

    unlock:针对主内存的变量,代表释放线程对变量的锁定,可以接受别的线程对变量的锁定

    read:针对主内存中的变量,代表了读取变量到线程的工作内存中

    load:针对工作内存中的变量,将从主内存中读取的变量赋值到工作内存中的变量

    use:针对工作内存中的变量,执行引擎读取变量的值使用这个操作

    assign:针对工作内存中的变量,将执行引擎中的值赋值到工作内存中的变量

    store:针对工作内存中的变量,将变量值存储到主内存中

    write:针对主内存中的变量,将工作内存中读取的到数据写入到主内存的变量中


  • 相关阅读:
    【原】AMFObject数据格式详解
    STL总结 (C++)
    git相关项目迁移
    OBS_Classic经典版框架
    windows线程同步的几种方式
    面试题之strcpy / strlen / strcat / strcmp的实现
    python实用技巧
    Python Flask学习笔记之数据库
    Python Flask学习笔记之Web表单
    必应每日壁纸批量下载
  • 原文地址:https://www.cnblogs.com/zhangchiblog/p/8613360.html
Copyright © 2011-2022 走看看