Javaスレッド


JavaScript分類

  • デモンズレッド(Daemon)
  • 通常スレッド
  • デーモンプロセス
    すべての通常のねじを終了すると消えたねじ
    すなわち、1つ以上の通常スレッドが存在する場合、JVMはxを終了する
    すべての通常スレッドをオフにすると、JVMは、デーモンスレッドが実行されている場合でもoをオフにします.
    開発者がねじを作成する場合、デフォルトは通常のねじです.
    プロパティを変更することで、デーモンプロセスに変更できます.
    Thread t = new Thread(new MyRunnable()); 
    t.setDaemon(true); 
    t.start();
    デフォルトで実行されるJavaスレッドごとのロール

    スレッドのステータスの確認

     State s = t.getState();

    スレッドのステータス


  • NEW
    新しく作成されたスレッド/未起動(Thread.start()呼び出し前)

  • RUNNABLE
    使用CPUのアクティブ状態
  • Running
    占有cpuの
  • ステータス
  • Runnable
  • 状態割付待ちCPU

  • BLOCKED
    オブジェクトモニタの状態+オブジェクトの取得を待機します.wait()時の状態も含む

  • WAITING
    別のスレッドによって生成されるイベントを待つステータス
  • Object.wait():notify()、notifyAll()の呼び出し待ち
  • Thread.join():他のスレッドの終了を待つ
  • LockSupport.park():unpark()呼び出しを待つ
  • TIMED_WAITING
    スレッドが指定時間待ちの状態
  • Thread.sleep(timeout)
  • Object.wait(timecout)
  • Thread.join(timeout)
  • LockSupport.parkNano(nanos)
  • LockSupport.parkUtill(deadline)
  • TERMINATED
    スレッドの主関数が完了しました
    (予期せぬ終了/例外またはエラーによって終了)
  • 出典:https://bestugi.tistory.com/38[問題タグ]