看板 Python 關於我們 聯絡資訊
小弟最近在學習Python平行化的寫法 用multiprocessing套件 參考網站(https://docs.python.org/3.3/library/multiprocessing.html) 上的範例 但不知是哪裡出問題 感覺沒有成功 在Python IDLE內建立新文件 程式碼如下 from multiprocessing import Process def f(name): print('hello', name) if __name__ == '__main__': p = Process(target=f, args=('bob',)) p.start() p.join() 存檔 假設為test.py 然後按F5執行 執行後感覺好像進入無限迴圈 該PRINT 的東西也沒有出來 請問版上有經驗的大大 是哪邊需要修正呢? 感謝 Windos Python 3.3 PS: 話說def f(name) 不是只有一個參數嗎? 為何Process(,args=('bob',)) 的args要丟兩個呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.161.230.99 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1433092701.A.B4E.html
micangela: 問題應該是出在interactive interpreter 06/01 12:39
micangela: docs.python.org/3.3/library/multiprocessing.html 06/01 12:40
micangela: 第二個Note提到使用interactive interpreter可能會 06/01 12:42
micangela: 出問題 06/01 12:42
micangela: args的型態是tuple。 一個元素的tuple語法是加逗號, 06/01 12:44
micangela: 用來跟一般的小括號作區別。 06/01 12:45