@[toc]java
原子性的介紹
原子性是指: 一系列的操做, 要麼所有執行成功, 要麼所有執行失敗, 不會出現執行一半的狀況, 這一系列操做是不可分割的. 安全
典型的i++操做就不是原子性的. 例以下圖中i++是要先讀取i, 再加一, 再給賦值回去, 是三步. 用synchronized鎖把這三個步驟鎖起來, 才能實現原子性. 併發
Java中的原子操做
- 除了long和double 以外的基本數據類型(int byte boolean short char float)的賦值操做
- 全部引用類型的reference的賦值操做,不管是32位仍是64位機器
- java.concurrent.Atomic.*包中的全部類的原子操做.
能夠看到Java中的原子操做 目前只有這三種, 其餘都不是原子操做. 那麼在併發環境下, 有多是形成線程安全問題的. 線程