woolpack.test
クラス RunnableGate

java.lang.Object
  上位を拡張 woolpack.test.RunnableGate

public class RunnableGate
extends java.lang.Object

並列性制御(セマフォとロック)をテストするための、RunnableRunnableGate.Contextを生成するクラス。 適用しているパターン:Hook Operation。

作成者:
nakamura

入れ子のクラスの概要
 class RunnableGate.Context
          execute(Runnable)実行時に返却される、ひとつのコマンドの実行状況を保持し制御するクラス。
 
フィールドの概要
static java.lang.String END
          execute(Runnable)を用いて別のスレッドでコマンドを実行する際の、コマンド終了を意味する識別子のデフォルト値。
static java.lang.String START
          execute(Runnable)を用いて別のスレッドでコマンドを実行する際の、コマンド開始を意味する識別子のデフォルト値。
static long TIMEOUT
          execute(Runnable)で実行したスレッドを検索する際やRunnableGate.Context.waitFor(String)で識別子を検索する際のタイムアウト時間のデフォルト値。
 
コンストラクタの概要
RunnableGate(java.util.concurrent.ExecutorService executor)
          コンストラクタ。
RunnableGate(java.lang.String startName, java.lang.String endName, java.util.concurrent.ExecutorService executor, long timeout)
          コンストラクタ。
 
メソッドの概要
 RunnableGate.Context execute(java.lang.Runnable runnable)
          別のスレッドでコマンドを実行する。
 java.lang.Runnable getGate(java.lang.String name)
          実行時に識別子を記録するコマンドを返す。
 java.lang.Runnable getGate(java.lang.String startName, java.lang.Runnable runnable, java.lang.String endName)
          委譲先を実行する前後に識別子を記録するコマンドを返す。
 java.lang.Runnable getPause(java.lang.String startName, java.lang.String endName)
          一時停止の実行前後に識別子を記録するコマンドを返す。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

TIMEOUT

public static final long TIMEOUT
execute(Runnable)で実行したスレッドを検索する際やRunnableGate.Context.waitFor(String)で識別子を検索する際のタイムアウト時間のデフォルト値。

関連項目:
定数フィールド値

START

public static final java.lang.String START
execute(Runnable)を用いて別のスレッドでコマンドを実行する際の、コマンド開始を意味する識別子のデフォルト値。

関連項目:
定数フィールド値

END

public static final java.lang.String END
execute(Runnable)を用いて別のスレッドでコマンドを実行する際の、コマンド終了を意味する識別子のデフォルト値。

関連項目:
定数フィールド値
コンストラクタの詳細

RunnableGate

public RunnableGate(java.lang.String startName,
                    java.lang.String endName,
                    java.util.concurrent.ExecutorService executor,
                    long timeout)
コンストラクタ。

パラメータ:
startName - execute(Runnable)を用いて別のスレッドでコマンドを実行する際の、コマンド開始を意味する識別子。
endName - execute(Runnable)を用いて別のスレッドでコマンドを実行する際の、コマンド終了を意味する識別子。
executor - Runnableコマンドを実行するオブジェクト。
timeout - execute(Runnable)で実行したスレッドを検索する際やRunnableGate.Context.waitFor(String)で識別子を検索する際のタイムアウト時間。
例外:
java.lang.NullPointerException - 引数のいずれかが null の場合。
java.lang.StringIndexOutOfBoundsException - startName または endName が空の場合。

RunnableGate

public RunnableGate(java.util.concurrent.ExecutorService executor)
コンストラクタ。

パラメータ:
executor - Runnableコマンドを実行するオブジェクト。
例外:
java.lang.NullPointerException - 引数が null の場合。
メソッドの詳細

execute

public RunnableGate.Context execute(java.lang.Runnable runnable)
別のスレッドでコマンドを実行する。

パラメータ:
runnable - コマンド。
戻り値:
コマンドと関連付けられたRunnableGate.Context
例外:
java.lang.NullPointerException - 引数が null の場合。
java.lang.IllegalStateException - (InterruptedException)時間内にスレッドを認識することに失敗した場合。

getGate

public java.lang.Runnable getGate(java.lang.String startName,
                                  java.lang.Runnable runnable,
                                  java.lang.String endName)
委譲先を実行する前後に識別子を記録するコマンドを返す。

パラメータ:
startName - 委譲先の開始前を意味する識別子。
runnable - 委譲先。
endName - 委譲先の終了後を意味する識別子。
戻り値:
委譲先の実行前後に識別子をRunnableGate.Context.getEndList()に記録するコマンド。
例外:
java.lang.NullPointerException - 引数のいずれかが null の場合。
java.lang.StringIndexOutOfBoundsException - startName または endName が空の場合。

getGate

public java.lang.Runnable getGate(java.lang.String name)
実行時に識別子を記録するコマンドを返す。

パラメータ:
name - 識別子。
戻り値:
実行時に識別子をRunnableGate.Context.getEndList()に記録するコマンド。
例外:
java.lang.NullPointerException - 引数が null の場合。
java.lang.StringIndexOutOfBoundsException - 引数が空の場合。

getPause

public java.lang.Runnable getPause(java.lang.String startName,
                                   java.lang.String endName)
一時停止の実行前後に識別子を記録するコマンドを返す。

パラメータ:
startName - 一時停止の開始前を意味する識別子。
endName - 一時停止の終了後を意味する識別子。
戻り値:
一時停止の実行前後に識別子をRunnableGate.Context.getEndList()に記録するコマンド。
例外:
java.lang.NullPointerException - 引数のいずれかが null の場合。
java.lang.StringIndexOutOfBoundsException - startName または endName が空の場合。


Copyright (C) 2006 Takahiro Nakamura. All rights reserved.