zoukankan      html  css  js  c++  java
  • Java内存模型

    参考自http://www.cnblogs.com/dolphin0520/p/3920373.html

    线程安全

    1. 不可变对象一定是线程安全的
    2. 绝对线程安全: 不管运行环境如何,调用者都不需要任何额外的同步措施
    3. 相对线程安全:对这个对象单独的操作是线程安全的,不需要额外的保障措施,但是连续调用就可能需要额外的同步手段来保证调用的正确性
    4. 线程兼容:本身不是线程安全的,但可以通过同步措施达到线程安全的目的(ArrayList、HashMap)
    5. 线程对立:不可能实现多线程并发
    

    线程安全的实现方法

    1. 互斥同步:保证共享数据在用一个时刻只被一个线程使用
    2. 非阻塞同步:基于冲突检测的乐观并发策略,先进行操作,如果没有其他线程争用共享数据则成功,否则采取其他的补偿措施
    3. 无同步方案:所有可重入代码都是线程安全的(不依赖堆中数据或公共系统资源);线程本地存储(使共享数据的代码都保证在同一线程中执行)
  • 相关阅读:
    C语言I博客作业09
    C语言I博客作业08
    C语言I博客作业07
    C语言I博客作业06
    C语言I博客作业05
    C语言II博客作业04
    C语言II博客作业03
    C语言II博客作业02
    C语言|博客作业01
    学期总结
  • 原文地址:https://www.cnblogs.com/LeonNew/p/6438282.html
Copyright © 2011-2022 走看看