對於執行緒而言有兩種型別:前台執行緒,後台執行緒。前台與後台執行緒性質相同,但終止條件不同。
後台執行緒:在執行過程中如果宿主程序結束,執行緒將直接終止執行;在強制終止時,執行緒即終止執行不論執行緒**是否執行完畢。
前台執行緒:在執行過程中如果宿主程序結束,執行緒將繼續執行直至執行緒**執行完畢;在強制終止時,執行緒即結束不論執行緒**是否執行完畢。
後台執行緒生命週期:
上圖顯示:只要宿主程序結束,後台執行緒必定結束
上圖顯示:後台執行緒功能執行完畢或被強行終止即進入結束狀態,此時宿主程序並未結束
前台執行緒生命週期:
上圖顯示:前台執行緒功能執行完畢或被強行終止即進入結束狀態,此時宿主程序並未結束
上圖顯示:宿主程序執行完畢,但前台執行緒功能未執行完畢的情況下,執行緒將不再依賴程序繼續執行,直到**執行完畢
private static void multithreadlifecycle()說明:1、設定現成是否為後台執行緒,可通過執行緒物件的 isbackground 屬性設定out:", thread.currentthread.name, i));
thread.sleep(i);
}console.writeline(string.format("sub thread the end", thread.currentthread.name));
}catch (threadabortexception ex)
abort", thread.currentthread.name));}};
console.writeline("main thread");
thread thread1 = new thread(task)
;thread thread2 = new thread(task)
;thread1.start(5000);
thread2.start(5000);
console.writeline("main thread wait sub thread");
thread1.abort();
console.readline();
console.writeline(string.format(":,:",
thread1.name,
thread1.threadstate,
thread2.name,
thread2.threadstate));
}
java 多執行緒 執行緒的生命週期
執行緒的生命週期主要分為下面5個狀態 當建立thread類的乙個例項 物件 繼承thread類,實現runnable介面,呼叫callable介面,此執行緒進入新建狀態 未被啟動 執行緒已被啟動,執行緒物件建立好之後進入就緒狀態,此時會等待獲取cpu的執行權 獲取到cpu執行權之後,執行緒物件開始執...
多執行緒之執行緒的生命週期
答 1.新建狀態 2.就緒狀態 3.執行狀態 4.阻塞狀態 5.死亡狀態 答 1.新建狀態 用new關鍵字建立乙個執行緒後,該執行緒物件就處於新建狀態。處於新生狀態的執行緒有自己的記憶體空間,通過呼叫start 方法進入就緒狀態。2.就緒狀態 處於就緒狀態執行緒具備了執行條件,但還沒分配到cpu,處...
java多執行緒 執行緒生命週期
本節目標 了解執行緒的宣告週期 了解執行緒的停止操作 乙個新的執行緒建立之後,通過start 方法進入執行狀態,在執行狀態時可以使用yield 進行執行緒禮讓,但是仍然可以執行,使用wait 方法暫停乙個執行緒。suspend resume stop 都會產生死鎖問題,不建議使用。如果想讓執行緒停止...