jp.go.nict.langrid.commons.runner
クラス MultithreadRunner

java.lang.Object
  上位を拡張 jp.go.nict.langrid.commons.runner.MultithreadRunner
直系の既知のサブクラス:
RepeatingMultithreadRunner

public class MultithreadRunner
extends Object

複数スレッドから同時に特定の処理を呼び出す。

バージョン:
$Revision: 8770 $
作成者:
Takao Nakaguchi, $Author: Takao Nakaguchi $

コンストラクタの概要
MultithreadRunner(int threadCount, int retryCount, StatusReporter reporter)
          コンストラクタ。
 
メソッドの概要
protected  Runnable createRunnable(String name, SinglethreadRunnable runnable, CountDownLatch startSignal, CountDownLatch endSignal, List<Exception> exceptions)
           
protected  void done(long dt)
           
protected  void fault(long dt)
           
protected  void fault(long dt, Exception e)
           
 long getDeltaTimeMillis()
          runメソッドに要した時間を取得する。
 Collection<Exception> getExceptions()
          処理の実行中に記録された例外を取得する。
 int getRetryCount()
          失敗時の再試行回数を取得する。
 int getRetryWaitMinMillis()
          再実行時の待機ミリ秒最小値を返す。
 int getRetryWaitRangeMillis()
          再実行時の待機ミリ秒幅を返す。
 int getThreadCount()
          スレッド数を取得する。
protected  int getTotalCount()
           
 void runAndWait(MultithreadRunnable runnable)
          runnableを指定された個数のスレッドで実行する。
 void runAndWait(SinglethreadRunnableFactory factory)
          factoryから指定された個数のrunnableとスレッドを作成し実行する。
 void setRetryWaitMinMillis(int retryWaitMinMillis)
          再実行時の待機ミリ秒最小値を設定する。
 void setRetryWaitRangeMillis(int retryWaitRangeMillis)
          再実行時の待機ミリ秒幅を設定する。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

MultithreadRunner

public MultithreadRunner(int threadCount,
                         int retryCount,
                         StatusReporter reporter)
コンストラクタ。

パラメータ:
threadCount - スレッド数
retryCount - 失敗時の再試行回数
reporter - StatusReporter
メソッドの詳細

getThreadCount

public int getThreadCount()
スレッド数を取得する。

戻り値:
スレッド数

getRetryCount

public int getRetryCount()
失敗時の再試行回数を取得する。

戻り値:
スレッド数

getDeltaTimeMillis

public long getDeltaTimeMillis()
runメソッドに要した時間を取得する。スレッド作成等の準備時間は含まれない。

戻り値:
runメソッドに要した時間

runAndWait

public void runAndWait(MultithreadRunnable runnable)
                throws InterruptedException
runnableを指定された個数のスレッドで実行する。

パラメータ:
runnable - 実行する処理
例外:
InterruptedException - 同期処理が中断された

runAndWait

public void runAndWait(SinglethreadRunnableFactory factory)
                throws InterruptedException
factoryから指定された個数のrunnableとスレッドを作成し実行する。

パラメータ:
factory - 実行する処理のファクトリ
例外:
InterruptedException - 同期処理が中断された

getRetryWaitMinMillis

public int getRetryWaitMinMillis()
再実行時の待機ミリ秒最小値を返す。

戻り値:
再実行時の待機ミリ秒最小値

setRetryWaitMinMillis

public void setRetryWaitMinMillis(int retryWaitMinMillis)
再実行時の待機ミリ秒最小値を設定する。

パラメータ:
retryWaitMinMillis - 再実行時の待機ミリ秒最小値

getRetryWaitRangeMillis

public int getRetryWaitRangeMillis()
再実行時の待機ミリ秒幅を返す。

戻り値:
再実行時の待機ミリ秒幅

setRetryWaitRangeMillis

public void setRetryWaitRangeMillis(int retryWaitRangeMillis)
再実行時の待機ミリ秒幅を設定する。

パラメータ:
retryWaitRangeMillis - 再実行時の待機ミリ秒幅

getExceptions

public Collection<Exception> getExceptions()
処理の実行中に記録された例外を取得する。

戻り値:
Collection 例外の集合

getTotalCount

protected int getTotalCount()

createRunnable

protected Runnable createRunnable(String name,
                                  SinglethreadRunnable runnable,
                                  CountDownLatch startSignal,
                                  CountDownLatch endSignal,
                                  List<Exception> exceptions)

done

protected void done(long dt)

fault

protected void fault(long dt)

fault

protected void fault(long dt,
                     Exception e)