public class Monitor
extends java.lang.Object
Javaのすべてのオブジェクトはスレッドを待機・再開させるためのモニターを持っていますが、 待機させたスレッドは特定のオブジェクトのnotify()メソッドによってしか再開させることができません。 このMonitorクラスは複数のオブジェクトで構成される1つのモニターを提供します。
オブジェクトAとオブジェクトBでモニターを構成した場合、 オブジェクトA、オブジェクトBいずれかの通知によって待機させたスレッドを再開させることができます。
| 修飾子とタイプ | クラスと説明 |
|---|---|
class |
Monitor.MultipleObjects
複数のオブジェクトを対象としてスレッドを待機・再開させるために複数のオブジェクトをまとめるクラスです。
|
| コンストラクタと説明 |
|---|
Monitor()
新しいモニターを作成します。
|
| 修飾子とタイプ | メソッドと説明 |
|---|---|
Monitor.MultipleObjects |
newMultipleObjects(java.util.Collection<?> objects)
複数のオブジェクトをまとめたMultipleObjectsを作成します。
|
Monitor.MultipleObjects |
newMultipleObjects(long timeout,
java.util.Collection<?> objects)
待機時間を指定して複数のオブジェクトをまとめたMultipleObjectsを作成します。
|
Monitor.MultipleObjects |
newMultipleObjects(long timeout,
java.lang.Object... objects)
待機時間を指定して複数のオブジェクトをまとめたMultipleObjectsを作成します。
|
Monitor.MultipleObjects |
newMultipleObjects(java.lang.Object... objects)
複数のオブジェクトをまとめたMultipleObjectsを作成します。
|
void |
notifyAll(java.lang.Object object)
指定したオブジェクトをまとめているMultipleObjectsのwaitForMultipleObjects()メソッドで待機しているすべてのスレッドを再開させます。
|
public Monitor.MultipleObjects newMultipleObjects(java.lang.Object... objects)
objects - スレッドを待機・再開させるための対象オブジェクトpublic Monitor.MultipleObjects newMultipleObjects(java.util.Collection<?> objects)
objects - スレッドを待機・再開させるための対象オブジェクトpublic Monitor.MultipleObjects newMultipleObjects(long timeout, java.lang.Object... objects)
MultipleObjectsを作成した時点で待機時間の開始点が設定されます。 waitForMultipleObjectsメソッドの呼び出し時が待機時間の開始点にならないことに注意してください。
timeout - ミリ秒単位の待機時間objects - スレッドを待機・再開させるための対象オブジェクトpublic Monitor.MultipleObjects newMultipleObjects(long timeout, java.util.Collection<?> objects)
MultipleObjectsを作成した自邸で待機時間の開始点が設定されます。 waitForMultipleObjectsメソッドの呼び出し時が待機時間の開始点にならないことに注意してください。
timeout - ミリ秒単位の待機時間objects - スレッドを待機・再開させるための対象オブジェクトpublic void notifyAll(java.lang.Object object)
object - MultipleObjectsに含まれているいずれかのオブジェクト