亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

本章小結

1. 前言

通過前面幾個小節的學習,相信大家已經掌握了不少知識和技巧,本節我們一起做一個回顧總結。

2. 內容回顧

本章總共 4 個小節,介紹了 4 個典型的原子操作類,分別是 AtomicInteger、AtomicReference、DoubleAdder 和 LongAccumulator 。每一個工具類介紹了基本的用法,并且搭配了編程案例。由這 4 個典型的工具類,我們可以類比其他同類型的工具類加以學習,如下:

通過 AtomicInteger 和 AtomicReference 類比學習 AtomicBoolean、AtomicLong、AtomicIntegerArray、AtomicLongArray、AtomicReferenceArray、AtomicReference、AtomicReferenceFieldUpdater、AtomicMarkableReference、AtomicIntegeFieldUpdater、AtomicLongFieldUpdater、AtomicStampedReference。

通過 DoubleAdder 和 LongAccumulator 類比學習 LongAdder、DoubleAccumulator。

3. 工具對比

在介紹每一類工具類時,沒有過多地做彼此之間的對比,為了大家有一個更深刻的認識,下面總結這些工具類之間的應用差異。請看下面表格。

工具類 基本概念 典型應用場景
AtomicInteger 原子整型工具類,封裝了基本類型整型變量的細粒度原子操作 應用在多線程操作同一個整型變量時
AtomicReference 原子引用工具類,封裝了引用類型變量的細粒度原子操作 應用在多線程操作同一個引用變量時
DoubleAdder 浮點型加法器, 封裝了基本類型浮點型變量的粗粒度原子操作 應用在多線程統計匯總某一個數值時
LongAccumulator 長整型計算器,封裝了基本類型長整型變量的自定義運算規則的原子操作 應用在多線程操作同一個長整型變量且需自定義計算規則時

4. 實踐建議

JDK 提供了這么多原子操作工具類,且這些工具類在功能上或多或少有重疊,我們該怎么加以選擇使用呢?
首先需要對每類工具類的功能徹底理解,然后把握住最簡原則加以選擇。
另外,當我們學習了這些工具類之后,在實際應用中,應該首先想到使用這些工具類,而不是自己造輪子。

至此本章介紹完畢了,希望大家能反復琢磨,反復練習,爭取早日掌握,早日體會到這些工具類帶來的便捷。