クラスReferenceQueue<T>
java.lang.Object
java.lang.ref.ReferenceQueue<T>
- 型パラメータ:
T- 参照オブジェクトのタイプ
public class ReferenceQueue<T> extends Object
参照キューです。到達可能性が適切に変更されたことが検出されると、登録されている参照オブジェクトはガベージ・コレクタによって参照キューに追加されます。
メモリーの一貫性の影響: キュー(ガベージ・コレクタによって、またはReference.enqueue()への正常なコールによって) happens-beforeへの参照のエンキューは、poll()またはremove(long)によってキューから削除されます。
- 導入されたバージョン:
- 1.2
-
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
クラスオブジェクトで宣言されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait修飾子と型メソッド説明protected Objectclone()このオブジェクトのコピーを作成して、返します。booleanこのオブジェクトと他のオブジェクトが等しいかどうかを示します。protected voidfinalize()削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。最終決定は非推奨であり、将来のリリースで削除される可能性があります。final Class<?> getClass()このObjectの実行時クラスを返します。inthashCode()このオブジェクトに対するハッシュ・コード値を返します。final voidnotify()このオブジェクトのモニターで待機中のスレッドを1つ再開します。final voidこのオブジェクトのモニターで待機中のすべてのスレッドを再開します。toString()オブジェクトの文字列表現を返します。final voidwait()現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。final voidwait(long timeoutMillis) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。final voidwait(long timeoutMillis, int nanos) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
-
コンストラクタの詳細
-
ReferenceQueue
public ReferenceQueue()新しい参照オブジェクト・キューを構築します。
-
-
メソッドの詳細
-
poll
-
remove
public Reference<? extends T> remove(long timeout) throws InterruptedException このキューの次の参照オブジェクトを削除します。参照オブジェクトが利用可能になるか、指定されたタイム・アウトの期限が切れるまでブロックします。このメソッドはリアルタイム保証を行いません。
Object.wait(long)メソッドを呼び出した場合と同様にタイム・アウトのスケジュールを作成します。- パラメータ:
timeout- 値が正の場合、このキューに参照が追加されるのを待つ間、timeoutミリ秒の間ブロックされる。 0の場合、無期限にブロックされる。- 戻り値:
- 指定されたタイム・アウト期間に利用可能になった場合は参照オブジェクト、そうでない場合は
null - スロー:
IllegalArgumentException- timeout引数の値が負の場合InterruptedException- タイム・アウト待機中に割り込まれた場合- 関連項目:
-
remove
public Reference<? extends T> remove() throws InterruptedExceptionこのキューの次の参照オブジェクトを削除します。参照オブジェクトが利用可能になるまでブロックされます。- 戻り値:
- 参照オブジェクト。1つが利用可能になるまでブロックを行う
- スロー:
InterruptedException- 待機中に割り込まれた場合- 関連項目:
-