TimerManagerは,サスペンド(一時停止),リジューム(再開)などによる閉塞や,停止の処理に伴って,ステータスが遷移します。そのときのTimerManagerのステータスは,isStoppedメソッド,isStoppingメソッド,isSuspendedメソッドなどを使用して確認できます。TimerManagerのステータス遷移を次の図に示します。
図13-6 TimerManagerのステータス遷移
それぞれのステータスの詳細について次の表に示します。
表13-11 TimerManagerのステータス
図中の番号※ | ステータス | 説明 |
---|---|---|
1 | running | TimerManagerが実行中の状態です。新規スケジュールの受付と実行ができます。 |
2 | suspending | サスペンド実行中の状態です。サスペンドが実行されたときに,実行中のタスクが残っていることを示します。実行中のタスクがなくなるとステータスがsuspendedに遷移します。 |
3 | suspended | すべてのタスクがサスペンドされている状態です。ステータスがsuspendedのときは,スケジューリングされたすべてのタスクは実行されません。ステータスがsuspendedのタスクは,リジュームされた時に実行されます。 |
4 | stopping | TimerManagerの停止処理が実行中の状態です。停止処理が実行されたときに,実行中のタスクが残っていることを示します。実行中のタスクがなくなるとステータスがstoppedに遷移します。 |
5 | stopped | TimerManagerが停止した状態です。すべてのタスクが停止されて,それ以降実行されないことを示しています。一度停止したTimerManagerは再開できません。 |
注※ 番号は,図13-6の番号を示します。