更新時間:2022-11-14 10:51:43 來源:動力節(jié)點 瀏覽1585次
Java 是一種多線程語言,這意味著程序員可以使用 Java 開發(fā)多線程程序。
線程經歷了幾個階段。
新- 在新狀態(tài)下開始新線程,并保持此狀態(tài)直到程序啟動它。
Runnable - 線程誕生后,它變?yōu)榭蛇\行的。在可運行狀態(tài)下,它被認為正在執(zhí)行其任務。
等待- 可能存在線程轉換為等待的情況,因為它等待另一個線程執(zhí)行任務。只有當另一個線程向等待線程發(fā)出信號繼續(xù)執(zhí)行時,它才會回到可運行狀態(tài)。
定時等待- 可運行線程可以在特定的時間間隔內進入定時等待狀態(tài)。在此狀態(tài)下,當間隔到期或等待發(fā)生時,線程將轉換回可運行狀態(tài)。
Dead/Terminated - 當一個線程完成其任務時,它將被終止。
優(yōu)先級幫助操作系統(tǒng)確定線程調度的順序。
這些線程的優(yōu)先級范圍在 MIN_PRIORITY(常數(shù) 1)和 MAX_PRIORITY(常數(shù) 10)之間。默認情況下,每個線程都被賦予 NORM_PRIORITY(常量 5)。
較高優(yōu)先級的線程對程序更重要,并且在低優(yōu)先級線程之前分配處理器時間。
線程優(yōu)先級不能保證順序。它依賴于平臺。
單線程示例:
包裝測試;
公共類 SingleThread
{
public static void main(String[] args) {
System.out.println("單線程");
}
}
多線程示例:
包裝測試;
公共類 MultiThread 實現(xiàn) Runnable {
public static void main(String[] args) {
Thread multiThread1 = new Thread("First");
線程 multiThread2 = new Thread("Second");
多線程1.start();
多線程2.start();
System.out.println("線程名稱如下:");
System.out.println(multiThread1.getName());
System.out.println(multiThread2.getName());
}
@Override
public void run() {
}
}
Start()- Strats 線程的執(zhí)行,JVM 調用線程上的 run() 方法。
睡眠(int 毫秒)-這使線程進入睡眠狀態(tài)。線程的執(zhí)行將暫停幾毫秒,然后再次開始執(zhí)行。這將有助于線程的同步。
getName() -返回線程名稱。
setPriority(int newpriority) -更改線程的優(yōu)先級。
yield() -它將導致當前線程停止。
通過上述介紹,相信大家對Java多線程實現(xiàn)方式已經有所了解,大家如果想了解更多可查看Java多線程編程,里面有更豐富的知識等著大家去學習,希望對大家能夠有所幫助哦。