[問題] setDaemon 無效

看板Python作者 (hah)時間5年前 (2019/11/06 11:08), 編輯推噓0(009)
留言9則, 3人參與, 5年前最新討論串1/1
各位前輩, 最近在練習多個執行緒的用法 其中 setDaemon() 這個方法不知為什麼無效 https://imgur.com/1xqJdLb
照理說bobj跑完 aobj尚未執行完 但由於有aobj.setDaemon(True) 整個程式應該就要結束 不應該再print a2出來 這個範例是參考'python 王者歸來 入門邁向高手之路'這邊寫的 跑出來卻跟書上不一樣 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.138.50.236 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1573009701.A.FDB.html

11/06 15:55, 5年前 , 1F
b 沒設定 所以程式還活著 所以 a 可以印出來
11/06 15:55, 1F

11/06 18:39, 5年前 , 2F
IPython 會在背景啟動 Python interpreter,不把它關掉
11/06 18:39, 2F

11/06 18:40, 5年前 , 3F
就不會「整個程式結束」
11/06 18:40, 3F

11/06 18:40, 5年前 , 4F
所以 5 秒後 a2 會照常印出來,因為執行緒還在跑。
11/06 18:40, 4F

11/06 18:40, 5年前 , 5F

11/06 18:40, 5年前 , 6F
如果用一般方式執行,就可以觀察到執行緒被中斷:
11/06 18:40, 6F

11/06 18:41, 5年前 , 7F

11/11 15:23, 5年前 , 8F
看到了 jupyter會把a跑完,但用visual studio就不跑完
11/11 15:23, 8F

11/11 15:24, 5年前 , 9F
可以請教為什麼兩種平台跑的結果不一樣呢
11/11 15:24, 9F
文章代碼(AID): #1TmZab_R (Python)
文章代碼(AID): #1TmZab_R (Python)