21.01.21-42日目


🚗 Thread(Thread)


🚓 デーモンプロセススレッド(daemon thread)

  • 非デーモンプロセススレッドの補助タスク
  • は、すべての通常スレッドの終了時に
  • を自動的に閉じる.
  • ゴミ収集器、自動記憶、画面自動リフレッシュなどに使用可能
  • 無限ループと条件文を使用して実行後待機を記述し、特定の条件を満たすとタスクを実行し、再待機します.
    *setDaemonはstart()を呼び出す前に実行する必要があります.
    それ以外の場合、IllegalThreadStateException
  • が起動します.

    🚓 ねじ状態



    🚓 スレッドの実行制御

  • スレッドの実行を制御する方法
  • 🚕 sleep()

  • 現在のスレッドを指定した時間内に停止させる
  • 異常処理
  • が必要である.
    try{
       Thread.sleep(1, 500000); // 쓰레드를 0.0015초 동안 멈추게 함 
    } catch(InterruptedException e) {}  // 필수 예외처리
    새로운 메서드 하나 만들어서 sleep()대신 호출. 코드가 더 심플해짐 
    void delay(long millis){
       try{
           Thread.sleep(millis);
       } catch(InterruptedException e) {}
    }
  • 特定のスレッドを指定して停止することはできません

    🚕 interrupt()

  • 待機状態(WATING)のスレッドを運転待機状態(RUNNABLE)に設定します.
  • 🚕 suspend(), resume(), stop()

  • スレッドの実行を一時停止(suspend)、リカバリ(resume)、および完全停止(stop)させる.
  • suspend()、resume()、stop()は行き詰まりやすいため、拒否される->直接実施しなければならない
  • 🚕 join()

  • は、指定された時間内に特定のスレッドの動作を待つ.
  • 異常処理が必要
  • 🚕 yield()

  • 残りの時間を次のスレッドに譲り、自分(現在のスレッド)が実行を待つ.
  • 歩留まり()と割り込み()を適切に使用すると、応答性と効率が向上します.
  • 🚋 ソース


    JAvaの定式書&youtube