高併發(12)-原子操作類的使用

前言

上篇文章講解了什麼是原子操作,並且怎麼實現原子操作。今天就講一下原子的操作類

什麼是原子操作類

爲了針對原子操作,JDK1.5之後java.util.concurrent.atomic包,這個包提供了針對原子操作的原子操作類。

有哪些原子操作類

原子操作類基本分成以下幾種:

基本類型

基本類型的原子類有三個分別是AtomicBoolean,AtomicInteger,AtomicLong​

  1. AtomicBoolean是原子更新布爾類型的值
  2. AtomicInteger是原子更新integer的值
  3. AtomicLong​是原子更新Loong的值

數組類型

數組類型的原子類有三個分別是AtomicIntegerArray,AtomicLongArray,AtomicReferenceArray​

  1. AtomicIntegerArray是原子更新integer類型的數組
  2. AtomicLongArray是原子更新Long類型的數組
  3. AtomicReferenceArray是原子更新引用類型類型的數組

引用類型

引用類型的原子類有三個分別是AtomicReference,AtomicMarkableReference,AtomicStampedReference​

  1. AtomicReference是對引用類型的原子操作
  2. AtomicMarkableReference是對引用類型的原子操作,解決了ABA問題,但是不會關注更新了多少次
  3. AtomicStampedReference也​是對引用類型的原子操作,解決了ABA問題,但是會關注這個值修改了多少次

屬性類型

基本類型的原子類有三個分別是AtomicReferenceFieldUpdater,AtomicIntegerFieldUpdater,AtomicLongFieldUpdater​

  1. AtomicReferenceFieldUpdater是對引用類型的屬性修改
  2. AtomicIntegerFieldUpdater是數值型的屬性修改
  3. AtomicLongFieldUpdater​是對Long類型的屬性修改
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章