20210126 - TIL


TIL


  • Java Timer-

  • 特定のタスクを実行するクラスをバックグラウンドで周期的に繰り返します.

  • メソッドのsleep()機能と似ていますが、待つ必要はありません.

  • 使用方法:
    Timer timer = new Timer();
    // 실제 타이머 기능을 수행하는 클래스.
    TimerTask timerTask = new TimerTask(){
      // Timer클래스가 수행해야 할 내용을 작성하는 클래스.
      // 때문에, 반드시 아래의 run()메소드를 작성해야한다.
      @Override
      public void run(){
        System.out.println("Hello World");
      }
    };
    
    timer.schedule(timerTask, 5000);
    5秒後に「Hello World」が出力されます

  • 計画のタイプ
  • の使用方法は以下の通りである.いくつかのlongタイプの数だけ入力します.

  • TimerTask task,long delay:単発方法

  • スケジュール(TimerTask task,long delay,long period):連続メソッド
  • 遅延:初期遅延
  • priod:繰返し期間
  • cancle()メソッドにより、実行中のタイマを中断できます.
    https://hamait.tistory.com/211
    https://m.blog.naver.com/PostView.nhn?blogId=highkrs&logNo=220283709171&proxyReferer=https:%2F%2Fwww.google.com%2F

  • 非同期および非ブロック
  • 非同期:
    同期とは異なり、遅延実行関数は同時に実行するのではなく、後で実行されます.
  • ex)メールを送った後、すぐに返事を待つのではなく、他のことをしている間にメールの通知を受けて返事を確認します.
  • 非同期機使用時?
  • バックグラウンドタスクが多い場合は
  • データ通信のように長い時間がかかります
  • 他のプログラムとの通信(Webアプリケーションサーバとデータベースとの通信)
  • イベントベースのプログラム設計(Event Based Programming)
  • マルチスレッドブロックの改善が必要
  • (低スレッド高効率プログラミング)
  • 非ブロック:
    やるべきことができなくても、他のことをするために制御権を渡さなければならない.
  • の2つを併用する場合が多いが、非同期ブロックの場合もあり、非同期は必ずしも非ブロックではない.
  • https://musma.github.io/2019/04/17/blocking-and-synchronous.html

    Todo

  • 講義
  • タスク1,2完了
  • に感銘を与える

  • 明日はアルゴリズムの日です.1月はもう何日も残っていないとは信じられない.