|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のパッケージ 次のパッケージ | フレームあり フレームなし |
参照先:
説明
インタフェースの概要 | |
---|---|
Condition | Condition は、Object 監視メソッド (wait 、notify 、および 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() メソッドにより返されるロック |
組み込みの同期および監視と区別された状態のロックおよび待機用のフレームワークを提供するインタフェースおよびクラス。このフレームワークを使用すると、構文は扱いにくくなりますが、ロックおよび状態をより柔軟に使用できるようになります。
Lock
インタフェースがサポートするロック制御は、セマンティクス (再入可能、均等など) により異なります。また、「hand-over-hand」や「lock reordering」アルゴリズムを含む非ブロック構造のコンテキストで使用できます。主な実装は、ReentrantLock
です。
同様に、ReadWriteLock
インタフェースは、リーダ間では共有可能であるが、ライタには排他的に設定可能なロックを定義します。提供されるのは、単一の実装 ReentrantReadWriteLock
だけです。これは、この実装だけで標準的な使用コンテキストの大半に対応できるためです。ただし、プログラマは、独自の実装を作成して非標準の要件に対応できます。
Condition
インタフェースは、Lock との関連付けの可能な状態変数を記述します。これらは、アクセスに Object.wait を使用する暗黙の監視と使用法が似ていますが、拡張された機能を提供します。特に、複数の Condition オブジェクトを単一の Lock に関連付けることができます。互換性の問題を回避するために、Condition メソッドの名前は対応する Object バージョンとは異なるものになります。
AbstractQueuedSynchronizer
クラスは、ブロックされたスレッドのキューイングに依存するロックおよび他のシンクロナイザを定義するための有用なスーパークラスとして機能します。LockSupport
クラスは、カスタマイズされた独自のロッククラスを実装する開発者向けの低レベルのブロックおよびブロック解除をサポートします。
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のパッケージ 次のパッケージ | フレームあり フレームなし |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。