[問題] 關於multiprocess範例

看板Python作者 (太煩腦啦~~~~~~~)時間8年前 (2017/04/06 00:07), 編輯推噓3(308)
留言11則, 5人參與, 最新討論串1/1
各位大大好: 最近小弟想學習多進程的使用方式,但看了很多網路上的範例 我發現我的電腦總是無法顯示加入多進程的函數本身print的內容 例如: #-*- coding:utf-8 -*- from multiprocessing import Process import os def run_proc(name): print 'Run child process %s (%s)...' % (name, os.getpid()) if __name__=='__main__': print 'Parent process %s.' % os.getpid() p = Process(target=run_proc, args=('test',)) print 'Process will start.' p.start() p.join() print 'Process end.' 上述的程式碼,教學文章表示執行後應該顯示 Parent process XXX. Process will start. Run child process test (929)... Process end. 但我在執行後,會無法出現函數中的Run child process test 這行 僅會顯示三行,這是為什麼呢? 是否有大大能提點一下...感激! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.160.32.193 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1491408475.A.460.html

04/06 00:17, , 1F
看來跟 #1OtHdIfO 是同樣問題.... 不是 code 的問題
04/06 00:17, 1F

04/06 09:31, , 2F
所以是執行環境造成的嗎…怪怪
04/06 09:31, 2F

04/06 09:47, , 3F
恩跟我遇到的問題一樣,我也還沒找到答案
04/06 09:47, 3F

04/06 10:16, , 4F
剛試了一下,發現在IDLE環境下確實無法顯示,但在
04/06 10:16, 4F

04/06 10:17, , 5F
命令提示列下執行就可以正常顯示了耶@@
04/06 10:17, 5F

04/06 12:24, , 6F
04/06 12:24, 6F

04/06 14:18, , 7F
明白了,謝謝KSJ大大解惑!
04/06 14:18, 7F

04/06 19:55, , 8F
所以是表示在idle環境執行下都只會是單核運作,所以無法運
04/06 19:55, 8F

04/06 19:55, , 9F
行多核運算嗎?
04/06 19:55, 9F

04/06 20:19, , 10F
你試試看把 print 改成開隨機檔名的空白檔案,我猜會成功
04/06 20:19, 10F

04/06 20:21, , 11F
IDLE是個很奇葩的東西,用socket連接,效率低又易有怪問題
04/06 20:21, 11F
文章代碼(AID): #1OvHPRHW (Python)
文章代碼(AID): #1OvHPRHW (Python)