Java中Timerのschedule()方法パラメータ詳細



timer.schedule(new MyTask(),long time1,long timer2);
今日は徹底的にこれがかつて私を困らせた方法をわかりました。ここで重点的に紹介します。
  • の最初のパラメータは、TimeTaskクラスであり、パケット:import Java.util.TimerTask.使用者はこのクラスを継承し、public void run()方法を実現します。TimeTask類がRunnableインターフェースを実現したためです。
  • の2番目のパラメータの意味は、この方法を呼び出すと、必ずTimeTaskクラスTimerTaskクラスのrun()メソッドを呼び出します。このパラメータはこの2つの違いです。中国語に変換するという意味で、ユーザがschedule()メソッドを呼び出した後、こんなに長い時間を待って初めてrun()方法を実行することができます。
  • の第3のパラメータの意味は、第1回の呼び出し後、第2回からどれぐらいの時間ごとに一回のrun()の方法を呼び出しますか?
  • 添付:
    技術者が内部オフィスシステムと外部サイトの一体化を実現するには、最も重要なステップはOAシステムからデータを読み取り、ウェブサイトのテンプレートから最終的な静止画ページを生成することである。ここではタイミングタスクが必要で、ループの実行が必要です。
    技術者が定時任務を書く時、当然Timer.schedule(TimerTask task, longdelay)は繰り返しtaskを実行すると思っています。プログラムが実行された後、一回だけ実行されていました。なんとなくtaskのコードに問題がありました。長い間デバッグコードを使っても結果がありません。java apiを詳しく調べたら、schedule(TimerTask task, long delay)の注釈:Schedules thespecified task for execution after the specified elay。遅延時間delayミリ秒後にtaskを実行します。繰り返し実行には言及されていません。schedule(TimerTask task, long delay, long period)の注釈:Schedulesthe specified task for repeated fixed-delay execution、beginingafter the specified delay。遅延時間delayミリ秒後に、taskを繰り返し実行します。サイクルはperiodミリ秒です。
    このような問題は、schedule(TimerTask task, longdelay)が一回だけ実行し、schedule(TimerTask task, long delay, longperiod)が繰り返し実行されることを明確にしている。肝心な問題はプログラマがscheduleは繰り返し実行だと誤解していることです。APIを詳しく研究していない一方、英語の能力が足りないので、APIを閲覧する過程では意味が早く理解できません。
    締め括りをつける
    以上はこの文章の全部の内容です。本文の内容は皆さんの学習や仕事に対して一定の参考学習価値を持ってほしいです。ありがとうございます。もっと知りたいなら、下のリンクを見てください。