JavaTM Platform
Standard Ed. 6

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

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

参照先:
          説明

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

クラスの概要
AbstractOwnableSynchronizer スレッドが排他的に所有できるシンクロナイザです。
AbstractQueuedLongSynchronizer 同期状態が long として保持される AbstractQueuedSynchronizer のバージョンです。
AbstractQueuedSynchronizer ブロックロック、および先入れ先出し (FIFO) 待機キューに依存する関連シンクロナイザ (セマフォー、イベントなど) を実装するフレームワークを提供します。
LockSupport ロックおよびほかの同期クラスを作成するための、基本的なスレッドブロックプリミティブです。
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 クラスは、ブロックされたスレッドのキューイングに依存するロックおよびほかのシンクロナイザを定義するための有用なスーパークラスとして機能します。AbstractQueuedLongSynchronizer クラスは、同じ機能を提供しますが、64 ビットの同期状態にサポートが拡張されています。どちらも AbstractOwnableSynchronizer クラスを拡張します。このクラスは、排他的な同期を現在保持しているスレッドを記録できる単純なクラスです。LockSupport クラスは、カスタマイズされた独自のロッククラスを実装する開発者向けの低レベルのブロックおよびブロック解除をサポートします。

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

JavaTM Platform
Standard Ed. 6

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

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