public class PeriodicTask extends PeriodicTaskBase implements ObjectCreator<PeriodicTaskBase>, ObjectDestructor
特定の関数を周期実行するためのスレッドオブジェクトを実現する。 使用手順は以下の通り。
修飾子とタイプ | クラスと説明 |
---|---|
protected class |
PeriodicTask.alive_t
alive_t クラス
|
protected class |
PeriodicTask.statistics_t
タスク実行時間計測管理用クラス
|
protected class |
PeriodicTask.suspend_t
タスク中断管理用クラス
|
修飾子とタイプ | フィールドと説明 |
---|---|
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
タスク中断情報
|
コンストラクタと説明 |
---|
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()
周期状態更新
|
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
protected TimeValue m_period
protected boolean m_nowait
protected TaskFuncBase m_func
protected boolean m_deleteInDtor
protected PeriodicTask.alive_t m_alive
protected PeriodicTask.suspend_t m_suspend
protected boolean m_execMeasure
protected int m_execCount
protected int m_execCountMax
protected PeriodicTask.statistics_t m_execStat
protected TimeMeasure m_execTime
protected boolean m_periodMeasure
protected int m_periodCount
protected int m_periodCountMax
protected PeriodicTask.statistics_t m_periodStat
protected TimeMeasure m_periodTime
public void activate()
タスクの実行を開始するためにスレッドをスタートさせる。タスクが 正常に開始された場合は true が返り、すでにタスクが開始済み、また は実行するタスクが設定されていなければ false を返す。
activate
クラス内 PeriodicTaskBase
public void _finalize()
実行中のタスクを終了する。
_finalize
クラス内 PeriodicTaskBase
public int _suspend()
実行中のタスクを中断する。
_suspend
クラス内 PeriodicTaskBase
public int _resume()
中断されているタスクを再開する
_resume
クラス内 PeriodicTaskBase
public void signal()
中断されているタスクを1周期だけ実行する
signal
クラス内 PeriodicTaskBase
public boolean setTask(java.lang.Object obj, java.lang.String func, boolean delete_in_dtor)
setTask
クラス内 PeriodicTaskBase
obj
- オブジェクト
func
- 関数名
delete_in_dtor
- 削除フラグ
public boolean setTask(java.lang.Object obj)
setTask
クラス内 PeriodicTaskBase
obj
- オブジェクト
public boolean setTask(java.lang.Object obj, java.lang.String func)
setTask
クラス内 PeriodicTaskBase
obj
- オブジェクト
func
- 関数名
public boolean setTask(java.lang.Object obj, boolean delete_in_dtor)
setTask
クラス内 PeriodicTaskBase
obj
- オブジェクト。
delete_in_dtor
- 削除フラグ
public void setPeriod(double period)
setPeriod
クラス内 PeriodicTaskBase
period
- 実行周期 [sec]
public void setPeriod(TimeValue period)
setPeriod
クラス内 PeriodicTaskBase
period
- 実行周期
public void executionMeasure(boolean value)
executionMeasure
クラス内 PeriodicTaskBase
value
- フラグ(true: 有効, false: 無効)
public void executionMeasureCount(int n)
executionMeasureCount
クラス内 PeriodicTaskBase
n
- 計測周期
public void periodicMeasure(boolean value)
periodicMeasure
クラス内 PeriodicTaskBase
value
- フラグ(true: 有効, false: 無効)
public void periodicMeasureCount(int n)
periodicMeasureCount
クラス内 PeriodicTaskBase
n
- 計測周期
public TimeMeasure.Statistics getExecStat()
getExecStat
クラス内 PeriodicTaskBase
public TimeMeasure.Statistics getPeriodStat()
getPeriodStat
クラス内 PeriodicTaskBase
protected int svc()
public void run()
run
インタフェース内 java.lang.Runnable
run
クラス内 java.lang.Thread
protected void sleep()
protected void updateExecStat()
protected void updatePeriodStat()
public PeriodicTaskBase creator_()
creator_
インタフェース内 ObjectCreator<PeriodicTaskBase>
public void destructor_(java.lang.Object obj)
destructor_
インタフェース内 ObjectDestructor
obj
- 破壊するインスタンス
public static void PeriodicTaskInit()
ファクトリへオブジェクトを追加する。