参照: 説明
インタフェース | 説明 |
---|---|
Condition | |
Lock |
Lock 実装は、synchronized のメソッドや文を使用することで取得可能なロック操作よりも広範なロック操作を提供します。 |
ReadWriteLock |
ReadWriteLock は、読み取り専用操作用および書き込み用の、関連する
locks のペアを制御します。 |
クラス | 説明 |
---|---|
AbstractOwnableSynchronizer |
スレッドが排他的に所有できるシンクロナイザです。
|
AbstractQueuedLongSynchronizer |
同期状態が long として保持される
AbstractQueuedSynchronizer のバージョンです。 |
AbstractQueuedSynchronizer |
ブロックロック、および先入れ先出し (FIFO) 待機キューに依存する関連シンクロナイザ (セマフォー、イベントなど) を実装するフレームワークを提供します。
|
LockSupport |
ロックおよびほかの同期クラスを作成するための、基本的なスレッドブロックプリミティブです。
|
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
オブジェクトを 1 つの Lock
に関連付けることができます。互換性の問題を回避するために、Condition
メソッドの名前は対応する Object
バージョンとは異なるものになっています。
AbstractQueuedSynchronizer
クラスは、ブロックされたスレッドのキューイングに依存するロックやその他のシンクロナイザを定義するために役立つスーパークラスとして機能します。AbstractQueuedLongSynchronizer
クラスは同じ機能を提供しますが、64 ビットの同期状態までサポートを拡張しています。どちらも AbstractOwnableSynchronizer
クラスを拡張します。このクラスは、排他的な同期を現在保持しているスレッドを記録できる単純なクラスです。LockSupport
クラスは、カスタマイズされた独自のロッククラスを実装している開発者に役立つ、より低レベルのブロックおよびロック解除のサポートを提供します。
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.