中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

深入理解java虛擬機-第13章-線程安全與鎖優(yōu)化

2018-07-20    來源:編程學習網

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用


線程安全

java語言中的線程安全

  1 不可變。Immutable 的對象一定是線程安全的

  2 絕對線程安全 一個類要達到不管運行時環(huán)境如何,調用者都不需要額外的同步措施,通常需要付出很大甚至是不切實際的代價,在java api中標注自己是線程安全的類,大多數都不是絕對的線程安全

  3 相對線程安全 

  4 線程兼容  對象本身不是線程安全的,但是可以通過在調用端正確地使用同步手段來保證對象在并發(fā)環(huán)境中可以安全使用

  5 線程對立

線程安全的實現(xiàn)方法

  1 互斥同步 Murual Exclusion & Synchronization

    常見的并發(fā)正確性保障手機,同步是指多個線程并發(fā)訪問共享數據時,保存證共享數據在同一時刻只被一個線程使用

    最基本的互斥手段是synchronized關鍵字。

    還可以使用java.util.concurrent包中的鎖來實現(xiàn)同步 ReentrantLock,

    JDK1.6對synchronized做了優(yōu)化,效率與ReentrantLock基本上是完全持平了。

  2 非阻塞同步

    基于沖突檢測的樂觀并發(fā)策略

    CAS操作 Compare-and-Swap

  3 無同步方案

鎖優(yōu)化

  1、自旋鎖與自適應自旋

  2、鎖消除

  3、鎖粗化

  4、經量級鎖

  5、偏向鎖

 

整本書 可以在Blog :《深入理解Java虛擬機》筆記  中來統(tǒng)查看要點。


標簽: swap 安全

版權申明:本站文章部分自網絡,如有侵權,請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:蘋果的新編程語言 Swift 簡介

下一篇:Java中static變量作用和用法詳解