溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java的線程并發庫主要有哪些包

發布時間:2021-11-03 10:40:12 來源:億速云 閱讀:376 作者:iii 欄目:編程語言

本篇內容介紹了“Java的線程并發庫主要有哪些包”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

1java.util.concurrent  

java.util.concurrent 包含許多線程安全、測試良好、高性能的并發構建塊。不客氣地說, 創建java.util.concurrent 的目的就是要實現Collection框架對數據結構所執行的并發操作。通過提供一組可靠的、高性能并發構建塊,開發人員可以提高并發類的線程安全、可伸縮性、性能、可讀性和可靠性,后面、我們會做介紹。如果一些類名看起來相似,可能是因為 java.util.concurrent 中的許多概念源自 Doug Lea util.concurrent 庫 。

2java.util.concurrent.atomic

查看 atomic 包文檔頁下面的介紹,它可以對多線程的基本數據、數組中的基本數據和對象中的基本數據進行多線程的操作(AtomicInteger、AtomicIntegerArray、AtomicIntegerFieldUpDater…

通過如下兩個方法快速理解 atomic 包的意義:

AtomicInteger 類的 boolean compareAndSet(expectedValue, updateValue);

AtomicIntegerArray 類的 int addAndGet(int i, int delta);

順帶解釋 volatile 類型的作用,需要查看 java 語言規范。volatile 修飾的變量,線程在每次使用變量的時候,都會讀取變量修改后的最的值。(具有可見性)volatile 沒有原子性。

3java.util.concurrent.lock

為鎖和等待條件提供一個框架的接口和類,它不同于內置同步和監視器。該框架允許更靈活地使用鎖和條件。本包下有三大接口,下面簡單介紹下:

Lock 接口:支持那些語義不同(重入、公平等)的鎖規則,可以在非阻塞式結構的上下文(包括 hand- over-hand 和鎖重排算法)中使用這些規則。主要的實現是 ReentrantLock。

ReadWriteLock 接口:以類似方式定義了一些讀取者可以共享而寫入者獨占的鎖。此包只提供了一個實現,即 ReentrantReadWriteLock,因為它適用于大部分的標準用法上下文。但程序員可以創建自己的、適用于非標準要求的實現。

Condition 接口:描述了可能會與鎖有關聯的條件變量。這些變量在用法上與使用 Object.wait 訪問的隱式監視器類似,但提供了更強大的功能。需要特別指出的是,單個 Lock 可能與多個 Condition 對象關聯。為了避免兼容性問題,Condition 方法的名稱與對應的 Object 版本中的不同。

“Java的線程并發庫主要有哪些包”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女