|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個軟體套件 下一個軟體套件 | 框架 無框架 |
請參見:
描述
介面摘要 | |
---|---|
Condition | Condition 將 Object 監視器方法(wait 、notify 和 notifyAll )分解成截然不同的物件,以便通過將這些物件與任意 Lock 實作組合使用,為每個物件提供多個等待 set(wait-set)。 |
Lock | Lock 實作提供了比使用 synchronized 方法和語句可獲得的更廣泛的鎖定操作。 |
ReadWriteLock | ReadWriteLock 維護了一對相關的鎖 ,一個用於只讀操作,另一個用於寫入操作。 |
類別摘要 | |
---|---|
AbstractOwnableSynchronizer | 可以由執行緒以獨佔方式擁有的同步器。 |
AbstractQueuedLongSynchronizer | 以 long 形式維護同步狀態的一個 AbstractQueuedSynchronizer 版本。 |
AbstractQueuedSynchronizer | 為實作依賴於先進先出 (FIFO) 等待佇列的阻塞鎖和相關同步器(信號量、事件,等等)提供一個框架。 |
LockSupport | 用來創建鎖和其他同步類別的基本執行緒阻塞原語。 |
ReentrantLock | 一個可重入的互斥鎖 Lock ,它具有與使用 synchronized 方法和語句所存取的隱式監視器鎖相同的一些基本行為和語義,但功能更強大。 |
ReentrantReadWriteLock | 支持與 ReentrantLock 類似語義的 ReadWriteLock 實作。 |
ReentrantReadWriteLock.ReadLock | ReentrantReadWriteLock.readLock() 方法返回的鎖。 |
ReentrantReadWriteLock.WriteLock | ReentrantReadWriteLock.writeLock() 方法返回的鎖。 |
為鎖和等待條件提供一個框架的介面和類別,它不同於內置同步和監視器。該框架允許更靈活地使用鎖和條件,但以更難用的語法為代價。
Lock
介面支持那些語義不同(重入、公平等)的鎖規則,可以在非阻塞式結構的上下文(包括 hand-over-hand 和鎖重排演算法)中使用這些規則。主要的實作是 ReentrantLock
。
ReadWriteLock
介面以類似方式定義了一些讀取者可以共享而寫入者獨佔的鎖。此套件只提供了一個實作,即 ReentrantReadWriteLock
,因為它適用於大部分的標準用法上下文。但開發人員可以創建自己的、適用於非標準要求的實作。
Condition
介面描述了可能會與鎖有關聯的條件變數。這些變數在用法上與使用 Object.wait 存取的隱式監視器類似,但提供了更強大的功能。需要特別指出的是,單個 Lock 可能與多個 Condition 物件關聯。為了避免相容性問題,Condition 方法的名稱與對應的 Object 版本中的不同。
AbstractQueuedSynchronizer
類別是一個非常有用的父級類別,可用來定義鎖以及依賴於排隊阻塞執行緒的其他同步器。 AbstractQueuedLongSynchronizer
類別提供相同的功能但擴展了對同步狀態的 64 位的支持。兩者都擴展了類別 AbstractOwnableSynchronizer
(一個說明記錄當前保持獨佔同步的執行緒的簡單類別)。LockSupport
類別提供了更低層級別的阻塞和解除阻塞支持,這對那些實作自己的定制鎖類別的開發人員很有用。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個軟體套件 下一個軟體套件 | 框架 無框架 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。