作者ferretwind (FF)
看板Python
標題[問題] 多行程(多進程)可否動態創造子行程?
時間Sun Jun 3 22:16:43 2018
各位大神安好,
小弟在網路上搜尋的資料,不論是Process,或是Pool
在網路上搜尋到的範例都是在
if __name__ == '__main__':
的下方定義好就直接.start() .join() 了;
當在使用執行緒的時候,執行緒可以在需要的時候,
在一個行程的幾乎任何位置選擇要執行的函數並start()
那麼在使用multiprocessing的時候,
是否能夠在需要的時候才執行子行程呢?
還是子行程只能在程式一開始執行 if __name__ == '__main__':
的時候就得要全部建立好呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.236.234.82
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1528035407.A.313.html
1F:→ kobe8112: subprocess當然可以在你要的時候才建立啊 06/03 23:11
2F:→ ferretwind: 樓上大神能否給串關鍵字 小弟新手還不夠會下關鍵字orz 06/03 23:23
3F:→ kobe8112: 我只是普通小工人,不太懂你意思,你練習的範例執行後 06/04 01:17
4F:→ kobe8112: 有錯誤訊息所以才這麼問嗎?不然不是寫寫看就知道了? 06/04 01:17
我寫的程式如果把 子行程 a=Process(xxx) a.start()
放在if __name__ == '__main__':裡面,兩個行程都會正常執行,
但是如果把a=Process(xxx) a.start()放在主行程的我需要他執行才執行的位置,
主行程就會死當,子行程也沒有執行 orz
ps. OS是 raspbian jessie
6F:→ ThxThx: 簡單來說有兩個條件:1) module 本身要importable 2) 不能 06/04 04:23
7F:→ ThxThx: 在import到時候fork不然會無窮迴圈 06/04 04:23
您好,小弟剛接觸,請問是指tabel2要一開始就import嗎?
我想利用kivy在兩個螢幕顯示不同的gui畫面,
一個是樹莓派官方的觸控螢幕,一個是普通的HDMI螢幕,
目標是在觸控螢幕觸發之後,在HDMI螢幕上顯示結果,
而HDMI螢幕在樹莓派雙螢幕的狀態下是開啟背光,在螢幕上顯示一整片的黑色,
所以目前是希望在沒有要顯示結果的時候,把HDMI輸出關掉,
但是HDMI輸出重新打開的時候,需要啟動一個指定以HDMI輸出的行程,
螢幕才會真的醒來,顯示結果,所以希望可以在要顯示結果的時候,
才用子行程喚醒HDMI,並顯示結果。
但是今天早上實驗的結果,好像是Kivy的子行程沒辦法這樣動態建立的樣子...
※ 編輯: ferretwind (1.172.94.130), 06/04/2018 10:28:36
8F:→ ThxThx: 根據你給樓上的回覆,建議你先寫一個簡單的程式來驗證你 06/04 13:40
9F:→ ThxThx: 的懷疑,是不是process的問題 06/04 13:40