Java

Javaのタイマー処理

投稿日:2018年11月30日 更新日:

スレッド動作について

コンストラクタの引数の指定により、2つのスレッドモードで動作する。

デーモンスレッド : デーモンスレッドとは、プログラム終了時にスレッドの実行終了を待ちません。プログラム終了のタイミングでデーモンスレッドの処理は中断され、終わることになります。生成したスレッドで終了処理を意識しないですむので、Timer処理では使い勝手がよいです。

ユーザスレッド :  ユーザスレッドは、デーモンスレッドの反対でプログラムを終わるときに、スレッドの実行終了を待ちます。プログラムを終了しようとしても、ユーザスレッドの処理が終わる(returnされる)まで終了できません。(ユーザスレッドが生き残っている間は、プログラム実行状態です)

 

キャンセルメソッドについて

cancel()メソッド実行後はTimerクラスの資源が破棄されていて、再利用できない。同じ変数のTimerクラスで再スケジュールする場合は、newでインスタンスを新しく作り直す必要がある。

 

 

参考にさせて頂いたページ

実験室

OSとプログラミングの「時間」に関する常識 (3/3)

Timerを使って定期実行する

 

 

 

スポンサーリンク

スポンサーリンク

-Java

執筆者:

関連記事

Socketからのデータ読み込み(InputStream)

(問題点) Socketからデータを読み込むときに、受信データの終わりが判断出来ないため、InputStream.readがブロックされる問題   (対応方法) クライアント側のクローズで判 ...