|
Woolpack API | |||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectwoolpack.acquirable.AcquirableUtils
public final class AcquirableUtils
実行権制御のユーティリティです。
フィールドの概要 | |
---|---|
static Acquirable<java.lang.RuntimeException> |
ANY
無制限に実行権を与える実行権マネージャです。 |
static Acquirable<java.lang.RuntimeException> |
INTERRUPT
常に実行権を与えず、実行したスレッドに対し Thread.interrupt() を実行する実行権マネージャです。 |
static Acquirable<java.lang.InterruptedException> |
INTERRUPTED_EXCEPTION
常に実行権を与えず、 実行したスレッドに対し Thread.interrupt() を実行し、
InterruptedException を原因として持つ
IllegalStateException を投げる実行権マネージャです。 |
static Acquirable<java.lang.RuntimeException> |
NONE
常に実行権を与えない実行権マネージャです。 |
メソッドの概要 | ||
---|---|---|
static
|
acquire(Fn<? super C,? extends Acquirable<? extends E>,? extends E> acquireGetter,
Fn<? super C,? extends R,? extends E> trueFn,
Fn<? super C,? extends R,? extends E> falseFn)
取得した Acquirable で実行権を制御する関数を生成します。 |
|
static
|
chain(java.util.List<? extends Acquirable<? extends E>> list)
コンストラクタ引数で指定された Acquirable を順に
Acquirable.acquire() する実行権マネージャを生成します。 |
|
static Acquirable<java.lang.RuntimeException> |
doLock(java.util.concurrent.locks.Lock lock)
Acquirable.acquire() でLock.lock() を実行し、
Acquirable.release() でLock.unlock()
を実行する実行権マネージャを生成します。 |
|
static Acquirable<java.lang.InterruptedException> |
doSemaphore(java.util.concurrent.Semaphore semaphore)
Acquirable.acquire() でSemaphore.acquire() を実行し、
Acquirable.release() でSemaphore.release() を実行する実行権マネージャを生成します。 |
|
static
|
doSemaphoreFactory(int permit,
boolean fair)
Acquirable.acquire() でSemaphore.acquire() を実行し、
Acquirable.release() でSemaphore.release() を実行する実行権マネージャ
のファクトリを生成します。 |
|
static Acquirable<java.lang.RuntimeException> |
tryLock(java.util.concurrent.locks.Lock lock)
Acquirable.acquire() でLock.tryLock() を実行し、
Acquirable.release() でLock.unlock() を実行する実行権マネージャを生成します。 |
|
static Acquirable<java.lang.RuntimeException> |
trySemaphore(java.util.concurrent.Semaphore semaphore)
Acquirable.acquire() でSemaphore.tryAcquire() を実行し、
Acquirable.release() でSemaphore.release() を実行する実行権マネージャを生成します。 |
|
static
|
trySemaphoreFactory(int permit,
boolean fair)
Acquirable.acquire() でSemaphore.tryAcquire() を実行し、
Acquirable.release() でSemaphore.release() を実行する実行権マネージャ
のファクトリを生成します。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
public static final Acquirable<java.lang.RuntimeException> ANY
public static final Acquirable<java.lang.RuntimeException> NONE
public static final Acquirable<java.lang.RuntimeException> INTERRUPT
Thread.interrupt()
を実行する実行権マネージャです。
public static final Acquirable<java.lang.InterruptedException> INTERRUPTED_EXCEPTION
Thread.interrupt()
を実行し、
InterruptedException
を原因として持つ
IllegalStateException
を投げる実行権マネージャです。
メソッドの詳細 |
---|
public static <C,R,E extends java.lang.Exception> Fn<C,R,E> acquire(Fn<? super C,? extends Acquirable<? extends E>,? extends E> acquireGetter, Fn<? super C,? extends R,? extends E> trueFn, Fn<? super C,? extends R,? extends E> falseFn)
Acquirable
で実行権を制御する関数を生成します。
C
- R
- E
- acquireGetter
- 実行権マネージャのファクトリ。trueFn
- 実行権の取得に成功したかAcquirable
が存在しない場合の委譲先。falseFn
- 実行権の取得に失敗した場合の委譲先。
AcquireFn
public static Acquirable<java.lang.RuntimeException> doLock(java.util.concurrent.locks.Lock lock)
Acquirable.acquire()
でLock.lock()
を実行し、
Acquirable.release()
でLock.unlock()
を実行する実行権マネージャを生成します。
Lock
のAdapter。
lock
- ロッククラス。
DoLock
public static Acquirable<java.lang.InterruptedException> doSemaphore(java.util.concurrent.Semaphore semaphore)
Acquirable.acquire()
でSemaphore.acquire()
を実行し、
Acquirable.release()
でSemaphore.release()
を実行する実行権マネージャを生成します。
Semaphore
のAdapter。
semaphore
- セマフォ。
DoSemaphore
public static Acquirable<java.lang.RuntimeException> tryLock(java.util.concurrent.locks.Lock lock)
Acquirable.acquire()
でLock.tryLock()
を実行し、
Acquirable.release()
でLock.unlock()
を実行する実行権マネージャを生成します。
Lock
のAdapter。
lock
- ロッククラス。
TryLock
public static Acquirable<java.lang.RuntimeException> trySemaphore(java.util.concurrent.Semaphore semaphore)
Acquirable.acquire()
でSemaphore.tryAcquire()
を実行し、
Acquirable.release()
でSemaphore.release()
を実行する実行権マネージャを生成します。
Semaphore
のAdapter。
semaphore
- セマフォ。
TrySemaphore
public static <E extends java.lang.Exception> Acquirable<E> chain(java.util.List<? extends Acquirable<? extends E>> list)
Acquirable
を順に
Acquirable.acquire()
する実行権マネージャを生成します。
Acquirable.acquire()
による実行権の取得に失敗した場合、
既に実行権を取得したAcquirable
を逆順にAcquirable.release()
します。
Acquirable
のComposite。
E
- list
- 実行権マネージャの配列。
AcquirableChain
public static <E extends java.lang.Exception> Fn<java.lang.Object,? extends Acquirable<java.lang.InterruptedException>,E> doSemaphoreFactory(int permit, boolean fair)
Acquirable.acquire()
でSemaphore.acquire()
を実行し、
Acquirable.release()
でSemaphore.release()
を実行する実行権マネージャ
のファクトリを生成します。
Acquirable
のAbstract Factory。
E
- permit
- 初期パーミット数。fair
- フェアなセマフォを作成する場合は true。
DoSemaphoreFactory
public static <E extends java.lang.Exception> Fn<java.lang.Object,? extends Acquirable<E>,E> trySemaphoreFactory(int permit, boolean fair)
Acquirable.acquire()
でSemaphore.tryAcquire()
を実行し、
Acquirable.release()
でSemaphore.release()
を実行する実行権マネージャ
のファクトリを生成します。
Acquirable
のAbstract Factory。
E
- permit
- 初期パーミット数。fair
- フェアなセマフォを作成する場合は true。
TrySemaphoreFactory
|
Woolpack API | |||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |