13.3.3 TimerManagerのステータス遷移

TimerManagerは,サスペンド(一時停止),リジューム(再開)などによる閉塞や,停止の処理に伴って,ステータスが遷移します。そのときのTimerManagerのステータスは,isStoppedメソッド,isStoppingメソッド,isSuspendedメソッドなどを使用して確認できます。TimerManagerのステータス遷移を次の図に示します。

図13-6 TimerManagerのステータス遷移

[図データ]

それぞれのステータスの詳細について次の表に示します。

表13-11 TimerManagerのステータス

図中の番号ステータス説明
1runningTimerManagerが実行中の状態です。新規スケジュールの受付と実行ができます。
2suspendingサスペンド実行中の状態です。サスペンドが実行されたときに,実行中のタスクが残っていることを示します。実行中のタスクがなくなるとステータスがsuspendedに遷移します。
3suspendedすべてのタスクがサスペンドされている状態です。ステータスがsuspendedのときは,スケジューリングされたすべてのタスクは実行されません。ステータスがsuspendedのタスクは,リジュームされた時に実行されます。
4stoppingTimerManagerの停止処理が実行中の状態です。停止処理が実行されたときに,実行中のタスクが残っていることを示します。実行中のタスクがなくなるとステータスがstoppedに遷移します。
5stoppedTimerManagerが停止した状態です。すべてのタスクが停止されて,それ以降実行されないことを示しています。一度停止したTimerManagerは再開できません。

注※ 番号は,図13-6の番号を示します。