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.