jp.go.aist.rtm.RTC
クラス PeriodicTask

java.lang.Object
  上位を拡張 java.lang.Thread
      上位を拡張 jp.go.aist.rtm.RTC.PeriodicTaskBase
          上位を拡張 jp.go.aist.rtm.RTC.PeriodicTask
すべての実装されたインタフェース:
java.lang.Runnable, ObjectCreator<PeriodicTaskBase>, ObjectDestructor

public class PeriodicTask
extends PeriodicTaskBase
implements ObjectCreator<PeriodicTaskBase>, ObjectDestructor

周期タスクスレッド実行クラス。

特定の関数を周期実行するためのスレッドオブジェクトを実現する。 使用手順は以下の通り。

  1. task; // インスタンス生成
  2. task.setTask(TaskFuncBase(obj, mem_func)); // 実行する関数を与える
  3. task.activate(); // スレッドをスタートさせる


入れ子のクラスの概要
protected  class PeriodicTask.alive_t
          alive_t クラス
protected  class PeriodicTask.statistics_t
          タスク実行時間計測管理用クラス
protected  class PeriodicTask.suspend_t
          タスク中断管理用クラス
 
クラス java.lang.Thread から継承された入れ子のクラス/インタフェース
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
フィールドの概要
protected  PeriodicTask.alive_t m_alive
          タスク生存フラグ
protected  boolean m_deleteInDtor
          タスク実行関数削除フラグ
protected  int m_execCount
          タスク実行時間計測回数
protected  int m_execCountMax
          タスク実行時間計測周期
protected  boolean m_execMeasure
          タスク実行時間計測フラグ
protected  PeriodicTask.statistics_t m_execStat
          タスク実行時間計測統計
protected  TimeMeasure m_execTime
          タスク実行時間計測情報
protected  TaskFuncBase m_func
          タスク実行関数
protected  boolean m_nowait
          スレッド休止フラグ
protected  TimeValue m_period
          タスク実行周期
protected  int m_periodCount
          タスク周期時間計測回数
protected  int m_periodCountMax
          タスク周期時間計測最大数
protected  boolean m_periodMeasure
          タスク周期時間計測フラグ
protected  PeriodicTask.statistics_t m_periodStat
          タスク周期時間計測統計
protected  TimeMeasure m_periodTime
          タスク周期時間計測情報
protected  PeriodicTask.suspend_t m_suspend
          タスク中断情報
 
クラス java.lang.Thread から継承されたフィールド
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
コンストラクタの概要
PeriodicTask()
          コンストラクタ
 
メソッドの概要
 void _finalize()
          タスク実行を終了する。
 int _resume()
          中断されているタスクを再開する。
 int _suspend()
          タスク実行を中断する。
 void activate()
          タスク実行を開始する。
 PeriodicTaskBase creator_()
          PeriodicTaskを生成する。
 void destructor_(java.lang.Object obj)
          インスタンスを破棄する。
 void executionMeasure(boolean value)
          タスク関数実行時間計測を有効にするか。
 void executionMeasureCount(int n)
          タスク周期時間計測周期。
 TimeMeasure.Statistics getExecStat()
          タスク関数実行時間計測結果を取得。
 TimeMeasure.Statistics getPeriodStat()
          タスク周期時間計測結果を取得。
 void periodicMeasure(boolean value)
          タスク周期時間計測を有効にするか。
 void periodicMeasureCount(int n)
          タスク周期時間計測周期。
static void PeriodicTaskInit()
          初期化処理。
 void run()
          スレッド実行
 void setPeriod(double period)
          タスク実行周期をセットする。
 void setPeriod(TimeValue period)
          タスク実行周期をセットする。
 boolean setTask(java.lang.Object obj)
          タスク実行関数をセットする。
 boolean setTask(java.lang.Object obj, boolean delete_in_dtor)
          タスク実行関数をセットする。
 boolean setTask(java.lang.Object obj, java.lang.String func)
          タスク実行関数をセットする。
 boolean setTask(java.lang.Object obj, java.lang.String func, boolean delete_in_dtor)
          タスク実行関数をセットする。
 void signal()
          中断されているタスクを1周期だけ実行する。
protected  void sleep()
          スレッド休止
protected  int svc()
          PeriodicTask 用のスレッド実行
protected  void updateExecStat()
          実行状態更新
protected  void updatePeriodStat()
          周期状態更新
 
クラス java.lang.Thread から継承されたメソッド
activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
クラス java.lang.Object から継承されたメソッド
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

m_period

protected TimeValue m_period
タスク実行周期


m_nowait

protected boolean m_nowait
スレッド休止フラグ


m_func

protected TaskFuncBase m_func
タスク実行関数


m_deleteInDtor

protected boolean m_deleteInDtor
タスク実行関数削除フラグ


m_alive

protected PeriodicTask.alive_t m_alive
タスク生存フラグ


m_suspend

protected PeriodicTask.suspend_t m_suspend
タスク中断情報


m_execMeasure

protected boolean m_execMeasure
タスク実行時間計測フラグ


m_execCount

protected int m_execCount
タスク実行時間計測回数


m_execCountMax

protected int m_execCountMax
タスク実行時間計測周期


m_execStat

protected PeriodicTask.statistics_t m_execStat
タスク実行時間計測統計


m_execTime

protected TimeMeasure m_execTime
タスク実行時間計測情報


m_periodMeasure

protected boolean m_periodMeasure
タスク周期時間計測フラグ


m_periodCount

protected int m_periodCount
タスク周期時間計測回数


m_periodCountMax

protected int m_periodCountMax
タスク周期時間計測最大数


m_periodStat

protected PeriodicTask.statistics_t m_periodStat
タスク周期時間計測統計


m_periodTime

protected TimeMeasure m_periodTime
タスク周期時間計測情報

コンストラクタの詳細

PeriodicTask

public PeriodicTask()
コンストラクタ

メソッドの詳細

activate

public void activate()
タスク実行を開始する。

タスクの実行を開始するためにスレッドをスタートさせる。タスクが 正常に開始された場合は true が返り、すでにタスクが開始済み、また は実行するタスクが設定されていなければ false を返す。

定義:
クラス PeriodicTaskBase 内の activate

_finalize

public void _finalize()
タスク実行を終了する。

実行中のタスクを終了する。

定義:
クラス PeriodicTaskBase 内の _finalize

_suspend

public int _suspend()
タスク実行を中断する。

実行中のタスクを中断する。

定義:
クラス PeriodicTaskBase 内の _suspend

_resume

public int _resume()
中断されているタスクを再開する。

中断されているタスクを再開する

定義:
クラス PeriodicTaskBase 内の _resume

signal

public void signal()
中断されているタスクを1周期だけ実行する。

中断されているタスクを1周期だけ実行する

定義:
クラス PeriodicTaskBase 内の signal

setTask

public boolean setTask(java.lang.Object obj,
                       java.lang.String func,
                       boolean delete_in_dtor)
タスク実行関数をセットする。

定義:
クラス PeriodicTaskBase 内の setTask
パラメータ:
obj - オブジェクト
func - 関数名
delete_in_dtor - 削除フラグ

setTask

public boolean setTask(java.lang.Object obj)
タスク実行関数をセットする。

定義:
クラス PeriodicTaskBase 内の setTask
パラメータ:
obj - オブジェクト

setTask

public boolean setTask(java.lang.Object obj,
                       java.lang.String func)
タスク実行関数をセットする。

定義:
クラス PeriodicTaskBase 内の setTask
パラメータ:
obj - オブジェクト
func - 関数名

setTask

public boolean setTask(java.lang.Object obj,
                       boolean delete_in_dtor)
タスク実行関数をセットする。

定義:
クラス PeriodicTaskBase 内の setTask
パラメータ:
obj - オブジェクト。
delete_in_dtor - 削除フラグ

setPeriod

public void setPeriod(double period)
タスク実行周期をセットする。

定義:
クラス PeriodicTaskBase 内の setPeriod
パラメータ:
period - 実行周期 [sec]

setPeriod

public void setPeriod(TimeValue period)
タスク実行周期をセットする。

定義:
クラス PeriodicTaskBase 内の setPeriod
パラメータ:
period - 実行周期

executionMeasure

public void executionMeasure(boolean value)
タスク関数実行時間計測を有効にするか。

定義:
クラス PeriodicTaskBase 内の executionMeasure
パラメータ:
value - フラグ(true: 有効, false: 無効)

executionMeasureCount

public void executionMeasureCount(int n)
タスク周期時間計測周期。

定義:
クラス PeriodicTaskBase 内の executionMeasureCount
パラメータ:
n - 計測周期

periodicMeasure

public void periodicMeasure(boolean value)
タスク周期時間計測を有効にするか。

定義:
クラス PeriodicTaskBase 内の periodicMeasure
パラメータ:
value - フラグ(true: 有効, false: 無効)

periodicMeasureCount

public void periodicMeasureCount(int n)
タスク周期時間計測周期。

定義:
クラス PeriodicTaskBase 内の periodicMeasureCount
パラメータ:
n - 計測周期

getExecStat

public TimeMeasure.Statistics getExecStat()
タスク関数実行時間計測結果を取得。

定義:
クラス PeriodicTaskBase 内の getExecStat
戻り値:
実行時間の統計

getPeriodStat

public TimeMeasure.Statistics getPeriodStat()
タスク周期時間計測結果を取得。

定義:
クラス PeriodicTaskBase 内の getPeriodStat
戻り値:
実行時間の統計

svc

protected int svc()
PeriodicTask 用のスレッド実行


run

public void run()
スレッド実行

定義:
インタフェース java.lang.Runnable 内の run
オーバーライド:
クラス java.lang.Thread 内の run

sleep

protected void sleep()
スレッド休止


updateExecStat

protected void updateExecStat()
実行状態更新


updatePeriodStat

protected void updatePeriodStat()
周期状態更新


creator_

public PeriodicTaskBase creator_()
PeriodicTaskを生成する。

定義:
インタフェース ObjectCreator<PeriodicTaskBase> 内の creator_
戻り値:
生成したインスタンスのPeriodicTaskBase

destructor_

public void destructor_(java.lang.Object obj)
インスタンスを破棄する。

定義:
インタフェース ObjectDestructor 内の destructor_
パラメータ:
obj - 破壊するインスタンス

PeriodicTaskInit

public static void PeriodicTaskInit()
初期化処理。

ファクトリへオブジェクトを追加する。