作者leoricee (太烦脑啦~~~~~~~)
看板Python
标题[问题] 关於multiprocess范例
时间Thu Apr 6 00:07:53 2017
各位大大好:
最近小弟想学习多进程的使用方式,但看了很多网路上的范例
我发现我的电脑总是无法显示加入多进程的函数本身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://webptt.com/cn.aspx?n=bbs/Python/M.1491408475.A.460.html
1F:→ zerof: 看来跟 #1OtHdIfO 是同样问题.... 不是 code 的问题 04/06 00:17
2F:→ leoricee: 所以是执行环境造成的吗…怪怪 04/06 09:31
3F:推 doun: 恩跟我遇到的问题一样,我也还没找到答案 04/06 09:47
4F:→ leoricee: 刚试了一下,发现在IDLE环境下确实无法显示,但在 04/06 10:16
5F:→ leoricee: 命令提示列下执行就可以正常显示了耶@@ 04/06 10:17
7F:→ leoricee: 明白了,谢谢KSJ大大解惑! 04/06 14:18
8F:推 doun: 所以是表示在idle环境执行下都只会是单核运作,所以无法运 04/06 19:55
9F:→ doun: 行多核运算吗? 04/06 19:55
10F:推 os653: 你试试看把 print 改成开随机档名的空白档案,我猜会成功 04/06 20:19
11F:→ os653: IDLE是个很奇葩的东西,用socket连接,效率低又易有怪问题 04/06 20:21