守護執行緒和非守護執行緒

2021-10-06 19:51:05 字數 1542 閱讀 3821

基本概念

示例**

非守護執行緒:

public class mythread  extends thread catch (interruptedexception e) 

system.out.println("執行緒:"+thread.currentthread().getname()+"執行了"+i+"次");}}

public static void main(string args) catch (interruptedexception e)

system.out.println("執行緒:"+thread.currentthread().getname()+"執行了"+i+"次");}}

}

列印結果:由結果可以看出主線程的正常結束並不會影響子執行緒的執行,子執行緒繼續執行

執行緒:main執行了1次

執行緒:thread-0執行了1次

執行緒:thread-0執行了2次

執行緒:main執行了2次

執行緒:main執行了3次

執行緒:main執行了4次

執行緒:main執行了5次

執行緒:main執行了6次

執行緒:thread-0執行了3次

執行緒:main執行了7次

執行緒:thread-0執行了4次

執行緒:main執行了8次

執行緒:thread-0執行了5次

執行緒:main執行了9次

執行緒:thread-0執行了6次

執行緒:main執行了10次

執行緒:thread-0執行了7次

執行緒:thread-0執行了8次

執行緒:thread-0執行了9次

執行緒:thread-0執行了10次

守護執行緒

public class mythread  extends thread catch (interruptedexception e) 

system.out.println("執行緒:"+thread.currentthread().getname()+"執行了"+i+"次");}}

public static void main(string args) catch (interruptedexception e)

system.out.println("執行緒:"+thread.currentthread().getname()+"執行了"+i+"次");}}

}

列印結果:由結果可以看出主線程結束後,設定為守護執行緒的子執行緒將不再執行。

執行緒:thread-0執行了1次

執行緒:main執行了1次

執行緒:main執行了2次

執行緒:thread-0執行了2次

執行緒:thread-0執行了3次

執行緒:main執行了3次

執行緒:main執行了4次

執行緒:thread-0執行了4次

執行緒:thread-0執行了5次

執行緒:main執行了5次

主線程 守護執行緒 非守護執行緒

main,但不是守護執行緒。是指在程式執行的時候在後台提供一種通用服務的執行緒。如gc。也叫使用者執行緒,由使用者建立。主線程和守護執行緒一起銷毀 主線程和非守護執行緒互不影響。例如 package com.peng.thread 1 使用者執行緒 非守護執行緒 有主線程建立 2 守護執行緒和主線程...

執行緒 守護執行緒與非守護執行緒

什麼是守護執行緒?非守護執行緒好理解,就是程式中前端執行的執行緒,我個人理解為常用於處理主動事務的執行緒。守護執行緒 顧名思義,用來守護處理事務的執行緒。它主要執行在程式後端,最有代表的例子gc執行緒,就是守護執行緒。守護執行緒的特點 實現守護執行緒,驗證非守護執行緒結束時,守護執行緒也中斷。cre...

守護執行緒和守護程序

守護程序隨著主程序的 的執行結束而結束 守護執行緒會在主線程結束之後等待其他子執行緒的結束才結束 如有其他子執行緒,沒有其他子執行緒就是主線程結束守護執行緒隨之結束 主程序在執行玩完自己的 後不會立即結束,而是等待子程序結束之後,子程序的資源 import time from threading i...