2010-12-21 2 views
0

私は、次の与えられた/設定された時間にアラームする単一のタスクのためにうまく動作するタイマを使用してJavaクロックを構築しましたが、私はこのタイマーを複数のタスク(差分時間のアラーム)時間は私はわからないんだけど....このような状態の間で同期させる方法を、助けてください(二つの異なる作品のために同じ時間)javaの複数のタスクのタスクスケジューリング?

おかげで、よろしく

アロック・シャーマ

+0

不明な質問 –

答えて

2

を互いに衝突することができます何をあなたがしようとしているのですが、クォーツスケジューラを使用している場合は、スケジューリング/同期タスクについては解決できます:

http://www.quartz-scheduler.org/

0

私は石英を使用することができますLukasに同意します。これは、スケーラビリティと堅牢性が最も優れたソリューションです。

しかし、比較的小さなものが必要な場合は、タイマーベースのソリューションを使用し続けることができます。 Timerクラスのjavadocは、タスクが非常に少ない時間で済むことを示しています。この場合、時間の衝突を忘れることがあります。あなたのタスクが0.1秒以上かかる場合、別のスレッドでそれらを実行します。私は、別のスレッドでタスクを開始するトリガーとしてTimerを使用することを意味します。

  1. を自分でスレッド作成:

    スレッドには、以下のように行うことができます。 J2EEコンテナを使用している場合、それは悪い習慣です。もしあなたがTomcatにいれば...それほど悪くない。

  2. スレッドプールを使用します。コンテナに関するコメントもここで関連しています。
  3. JMSの使用:タイマーはJMSにメッセージをプッシュします。 MDBまたは同等のものがメッセージを受信し、タスクを実行する。

タイマーをJ2EEコンテナで使用することも悪い習慣です。あなたがそこにいて、 "きれい"になりたいなら、JCAを使ってTimerを実行してください。

関連する問題