看板 Python 關於我們 聯絡資訊
各位大神安好, 小弟在網路上搜尋的資料,不論是Process,或是Pool 在網路上搜尋到的範例都是在 if __name__ == '__main__': 的下方定義好就直接.start() .join() 了; 當在使用執行緒的時候,執行緒可以在需要的時候, 在一個行程的幾乎任何位置選擇要執行的函數並start() 那麼在使用multiprocessing的時候, 是否能夠在需要的時候才執行子行程呢? 還是子行程只能在程式一開始執行 if __name__ == '__main__': 的時候就得要全部建立好呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.236.234.82 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1528035407.A.313.html
kobe8112: subprocess當然可以在你要的時候才建立啊 06/03 23:11
ferretwind: 樓上大神能否給串關鍵字 小弟新手還不夠會下關鍵字orz 06/03 23:23
kobe8112: 我只是普通小工人,不太懂你意思,你練習的範例執行後 06/04 01:17
kobe8112: 有錯誤訊息所以才這麼問嗎?不然不是寫寫看就知道了? 06/04 01:17
我寫的程式如果把 子行程 a=Process(xxx) a.start() 放在if __name__ == '__main__':裡面,兩個行程都會正常執行, 但是如果把a=Process(xxx) a.start()放在主行程的我需要他執行才執行的位置, 主行程就會死當,子行程也沒有執行 orz ps. OS是 raspbian jessie
ThxThx: https://tinyurl.com/y7sexqj5 06/04 04:23
ThxThx: 簡單來說有兩個條件:1) module 本身要importable 2) 不能 06/04 04:23
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
ThxThx: 根據你給樓上的回覆,建議你先寫一個簡單的程式來驗證你 06/04 13:40
ThxThx: 的懷疑,是不是process的問題 06/04 13:40