C 多執行緒的用法2 執行緒的生命週期

2022-04-04 11:27:38 字數 1514 閱讀 8652

對於執行緒而言有兩種型別:前台執行緒,後台執行緒。前台與後台執行緒性質相同,但終止條件不同。

後台執行緒:在執行過程中如果宿主程序結束,執行緒將直接終止執行;在強制終止時,執行緒即終止執行不論執行緒**是否執行完畢。

前台執行緒:在執行過程中如果宿主程序結束,執行緒將繼續執行直至執行緒**執行完畢;在強制終止時,執行緒即結束不論執行緒**是否執行完畢。

後台執行緒生命週期:

上圖顯示:只要宿主程序結束,後台執行緒必定結束

上圖顯示:後台執行緒功能執行完畢或被強行終止即進入結束狀態,此時宿主程序並未結束

前台執行緒生命週期:

上圖顯示:前台執行緒功能執行完畢或被強行終止即進入結束狀態,此時宿主程序並未結束

上圖顯示:宿主程序執行完畢,但前台執行緒功能未執行完畢的情況下,執行緒將不再依賴程序繼續執行,直到**執行完畢

private static void multithreadlifecycle()

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));

}

說明:1、設定現成是否為後台執行緒,可通過執行緒物件的 isbackground 屬性設定

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 都會產生死鎖問題,不建議使用。如果想讓執行緒停止...