タグ

taskに関するsinzysinzyのブックマーク (5)

  • Netforest Developer's Note - Springでタイマー処理

    take©です。定期的に処理を実行したい場合、Linuxであればcronが定番ですが、Javaで構築する場合、やっぱりプラットフォームに依存しない方法をとりたいものです。 Javaではタイマー処理を行うために以下のクラスが用意されています。 java.util.Timer java.util.concurrent.ScheduledExecutorService 今回はSpringからjava.util.concurrent.ScheduledExecutorServiceを使って5秒ごとに「Hello!」を出力してみます。 HelloTask.java package sample; import java.util.concurrent.TimeUnit; import org.springframework.scheduling.concurrent.ScheduledExecuto

  • Javaタイマーメモ(Hishidama's Java Timer Memo)

    Javaタイマークラス Javajava.util.Timerは、処理を一定時間間隔で動かしたり、一定時間後に動かしたりする為のクラス。 Timerから、自分で指定したTimerTask(の具象クラス)が呼ばれる。 このタイマーの実行にはThreadが使用されている(マルチスレッドで動作する)。 一定時間後に一度だけ実行する例 public void timer_delay() throws InterruptedException { TimerTask task = new SampleTask(); Timer timer = new Timer("遅延タイマー"); System.out.println("main start:" + new Date()); timer.schedule(task, TimeUnit.SECONDS.toMillis(10)); //10秒後に

  • java.util.Timerで周期起動タスク

    Javaプログラムで何らかの仕事を周期的にやろうとする時にはjava.util.Timerとjava.util.TimerTaskというクラスを利用することができます。java.util.Timerはいわゆるタイマ機能を提供します。タイムアウトした時に希望するタスクを別スレッドで実行することが出来ます。タイムアウトは1回きりのものでも、周期起動させるものでもOKです。java.util.Timerクラスでスケジュールされるタスクは、java.util.TimerTaskのサブクラスにする必要があります。java.util.Timerタスクで提供されるタイマ機能はリアルタイム性こそ保証されませんが、処理に時間が掛かりすぎるスレッドを停止させたりする機能等もあるので、広範な利用が可能だと思われます。以下に簡単なサンプルを書いてみます。 まずスケジュールされるタスクを書いてみます。安直ですが標準

  • 【コラム】Java API、使ってますか? (22) Java EE環境でタスクのスケジューリングを可能にするJSR 236 | エンタープライズ | マイコミジャーナル

    JSR 236: Timer for Application Servers 前回はJava EE環境でスレッドプログラミングを可能にするAPIとしてJSR 237: Work Manager for Application Serversを紹介した。今回はJSR 237と同じく、Java EE環境において非同期並列処理を実現するためのもうひとつのAPI「JSR 236: Timer for Application Servers」を紹介する。 JSR 237がjava.lang.Threadの代替となるAPIであるのに対して、JSR 236が提供するのはjava.util.Timerのようなタスクのスケジューリング機能だ。つまりこのAPIを使うことで、あるタスクが定期的に繰り返し実行されるような処理を実装することができる。 java.util.Timerクラスにおいて、スケジュールされた

  • Javaのタスクを定期的に実行する

    Javaのメソッドとして実装されたタスクがあり、そのタスクを定期的(一定間隔)に実行したい場合は、java.util.TimerTaskクラスとjava.util.Timerクラスを使用すると便利です。これらのクラスの利用方法は、以下のようになります。 java.util.TimerTaskを継承したクラス(例えばTask1)を作成し、タスクとして実行したい処理をrunメソッドとして実装する java.util.Timerクラスのオブジェクトを作成し、Task1クラスのオブジェクトと、実行開始時刻や実行間隔をscheduleメソッドの引数として渡す これらの処理により、Task1クラスのrunメソッドが定期的に実行されます。その際、必ず前回のタスクの処理が終了してから、次のタスクが実行されます。タスク処理を中断する場合は、java.util.Timer#cancelメソッドを呼び出します。

    Javaのタスクを定期的に実行する
  • 1