[java]スレッド優先度

680 ワード

マルチスレッドは同時に実行されるか、並列に実行されるため、これらの用語を理解することが望ましい.
💡 同期性とは、複数のスレッドが1つのカーネルで交互に実行され、複数のタスクを完了することです.
💡 並列性とは、複数のコア上で単一のスレッドを同時に実行してマルチタスクを行う性質です.

スレッド数がカーネル数より大きい場合は、スレッドがスレッドスケジューリングと呼ばれる順序で同時に実行されるかを決定する必要があります.
スレッドスケジューリングにより、スレッドが短い時間でrun()メソッドを順番に実行できます.

📌 Javaのスレッドスケジューリングは優先度とループ割り当て方式を採用している.


優先度とは、より多くの実行状態を得るために優先度の高いスレッドをスケジューリングすることです.
ループ割当てとは、あるスレッドを指定した時間に実行し、別のスレッドを実行する期間を割り当てることです.
優先度は制御できますが、JVMが管理しているため、循環配分は制御できません.
1〜10の優先順位を有し、基本的に5が割り当てられる.
thread.setPriority(우선순위) 
これにより、優先度を設定できます.