首页 > 编程语言 > 详细

Java并发编程

时间:2019-09-01 23:49:30      阅读:139      评论:0      收藏:0      [点我收藏+]

一、Java内存同步8种操作

   技术分享图片

    技术分享图片

  1.lock : 作用于主内存的变量,把一个变量标识为一条线程独占的状态

  2.unlock : 作用于主内存的变量,把一个处于锁定的状态的变量释放出来,释放后的变量才可以被其他的线程的访问

  3.read : 作用于主内存的变量,把一个变量值从主内存传输到线程的工作内存中,以便随后的load动作的使用

  4.load : 作用于工作内存的变量,它把read操作从主内存中得到的变量值放入到工作内存的变量的副本中

  5.use : 作用于工作内存的变量,把工作内存中的一个变量传递给执行引擎

  6.assign : 作用于工作内存的变量,它把一个从执行引擎接收到的赋值给工作内存的变量

  7.store : 作用于工作内存的变量,把工作内存中的一个变量的值传递到主内存中,以便所有write的操作

  8.write : 作用于主内存的变量,它把store操作从工作内存中一个变量的值传递到主内存的变量中

  

二、线程的安全性的讲解

  1.线程安全性包括的内容

   a. 原子性 : 提供互斥访问,同一时刻只能有一个线程来对它进行操作    synchronized

   b. 可见性 : 一个线程对主内存的修改可以及时的被其他线程观察到  volatile(不具有原子性,禁止指令重排序)

   c. 有序性 : 一个线程观察其他线程中的指令执行顺序,由于指令重排序的存在,该观察结果一般杂乱无序

  

 

Java并发编程

原文:https://www.cnblogs.com/liunx1109/p/11443664.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!