守護執行緒和守護程序的理解(筆記)

2021-10-02 17:41:07 字數 490 閱讀 7862

之前聽過守護程序,但是沒有聽過守護執行緒。今天查了一些資料簡單理解了一下守護執行緒的概念。

執行緒分為兩種型別:

使用者執行緒:我們平常建立的普通執行緒。

守護執行緒:用來服務於使用者執行緒的執行緒,不需要上層邏輯介入

因為之前了解守護程序的一點定義,所以看到守護執行緒,本來的理解是守護執行緒也能起到「守護」的作用,但實際上並沒有。再說說守護程序,守護程序直觀的理解,真正的起到了「守護」的作用。

守護程序是一種不受終端輸入的影響,也不會被終端的訊號所打斷的程序。守護程序和後台執行程序也是有所區別的。具體請參考如下資料:

那麼接下來的問題也來了,如果守護程序不受終端訊號的控制,那如果想要關閉或者控制守護程序怎麼辦?

答案是可以通過強制終止的方式來殺掉守護程序。也就是我們通常用的

kill -9 pid

9是訊號名稱sigkill對應的序號,代表強制終止。

守護執行緒和守護程序

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

守護程序VS守護執行緒

join 方法可以使乙個程序執行完之後再執行下乙個程序,而daemon 方法就是主程序的 執行完畢之後,不需要等待子程序,立即終止子程序。join 方法和daemon 方法都是改變程序順序的方法。1.daemon 方法要寫在start 方法之前。2.子程序被設定成守護程序後,一旦主程序 執行完畢,不...

守護執行緒 與守護程序

守護執行緒 守護執行緒會等待所有非守護執行緒執行結束才結束 守護程序 無論子程序有沒有執行結束,當主程式的 執行完畢,都會結束 def f1 time.sleep 2 print 1號執行緒 def f2 time.sleep 3 print 2號執行緒 if name main t1 thread...