woolpack.acquirable
クラス DoSemaphore
java.lang.Object
woolpack.acquirable.DoSemaphore
- すべての実装されたインタフェース:
- Acquirable
public class DoSemaphore
- extends java.lang.Object
- implements Acquirable
acquire()
でSemaphore.acquire()
を実行し、
release()
でSemaphore.release()
を実行するAcquirable
です。
適用しているデザインパターン:Adapter, Template Method。
- 作成者:
- nakamura
コンストラクタの概要 |
DoSemaphore(java.util.concurrent.Semaphore semaphore)
|
クラス java.lang.Object から継承されたメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DoSemaphore
public DoSemaphore(java.util.concurrent.Semaphore semaphore)
acquire
public boolean acquire()
- インタフェース
Acquirable
の記述:
- 実行権を取得します。
実行権が取得できない場合に実行権を取得するまで処理をブロックするかは実装に依存します。
また内部で
InterruptedException
が発生した場合に割り込み再設定
(Thread.interrupt()
)を指定するかは実装に依存します。
- 定義:
- インタフェース
Acquirable
内の acquire
- 戻り値:
- 実行権を取得できた場合は true。それ以外の場合は false。
release
public void release()
- インタフェース
Acquirable
の記述:
- 実行権を解放します。
本メソッドを実行するスレッドが実行権を確保している必要があるかは実装に依存します。
- 定義:
- インタフェース
Acquirable
内の release
processInterruptedException
public void processInterruptedException(java.lang.InterruptedException e)
acquire()
でInterruptedException
が発生した場合にacquire()
から呼び出されます(called)。
必要に応じてオーバライドすることができます。
デフォルトは現在のスレッドに対してThread.interrupt()
を実行した後、
原因が引数であるIllegalStateException
を throw します。
- パラメータ:
e
- 原因。
- 例外:
java.lang.IllegalStateException
- (InterruptedException
)デフォルト実装では常に throw します。
getSemaphore
public java.util.concurrent.Semaphore getSemaphore()
setSemaphore
public void setSemaphore(java.util.concurrent.Semaphore semaphore)
Copyright (C) 2006-2007 Takahiro Nakamura. All rights reserved.