JavaTM 2 Platform
Standard Ed. 5.0

パッケージ java.util.concurrent.locks

組み込みの同期および監視と区別された状態のロックおよび待機用のフレームワークを提供するインタフェースおよびクラス。

参照先:
          説明

インタフェースの概要
Condition Condition は、Object 監視メソッド (waitnotify、および notifyAll) を別個のオブジェクトに分解し、それらに任意の Lock 実装の使用を組み合わせて、オブジェクトごとに複数の待機セットを保持する効果を付与します。
Lock Lock 実装は、synchronized のメソッドや文を使用することで取得可能なロック操作よりも広範なロック操作を提供します。
ReadWriteLock ReadWriteLock は、読み取り専用操作用および書き込み用の、関連するロックのペアを制御します。
 

クラスの概要
AbstractQueuedSynchronizer ブロックロック、および先入れ先出し (FIFO) 待機キューに依存する関連シンクロナイザ (セマフォ、イベントなど) を実装するフレームワークを提供します。
LockSupport ロックおよび他の同期クラスを作成するための、基本的なスレッドブロックプリミティブ このクラスは、それを使用する各スレッドとパーミットを (Semaphore クラスという意味で) 関連付けます。
ReentrantLock synchronized メソッドおよび文を使用してアクセスする暗黙の監視ロックと同じ基本動作およびセマンティクスを使用し、かつ拡張機能を持つ、再入可能な相互排他 Lock です。
ReentrantReadWriteLock ReentrantLock と類似のセマンティクスをサポートする ReadWriteLock の実装。
ReentrantReadWriteLock.ReadLock ReentrantReadWriteLock.readLock() メソッドにより返されるロック
ReentrantReadWriteLock.WriteLock ReentrantReadWriteLock.writeLock() メソッドにより返されるロック
 

パッケージ java.util.concurrent.locks の説明

組み込みの同期および監視と区別された状態のロックおよび待機用のフレームワークを提供するインタフェースおよびクラス。このフレームワークを使用すると、構文は扱いにくくなりますが、ロックおよび状態をより柔軟に使用できるようになります。

Lock インタフェースがサポートするロック制御は、セマンティクス (再入可能、均等など) により異なります。また、「hand-over-hand」や「lock reordering」アルゴリズムを含む非ブロック構造のコンテキストで使用できます。主な実装は、ReentrantLock です。

同様に、ReadWriteLock インタフェースは、リーダ間では共有可能であるが、ライタには排他的に設定可能なロックを定義します。提供されるのは、単一の実装 ReentrantReadWriteLock だけです。これは、この実装だけで標準的な使用コンテキストの大半に対応できるためです。ただし、プログラマは、独自の実装を作成して非標準の要件に対応できます。

Condition インタフェースは、Lock との関連付けの可能な状態変数を記述します。これらは、アクセスに Object.wait を使用する暗黙の監視と使用法が似ていますが、拡張された機能を提供します。特に、複数の Condition オブジェクトを単一の Lock に関連付けることができます。互換性の問題を回避するために、Condition メソッドの名前は対応する Object バージョンとは異なるものになります。

AbstractQueuedSynchronizer クラスは、ブロックされたスレッドのキューイングに依存するロックおよび他のシンクロナイザを定義するための有用なスーパークラスとして機能します。LockSupport クラスは、カスタマイズされた独自のロッククラスを実装する開発者向けの低レベルのブロックおよびブロック解除をサポートします。

導入されたバージョン:
1.5

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。