此代码启动了无数个进程,随后使我的 PC 崩溃。
import multiprocessing
def f(process_name):
print process_name, 'says hi'
p1 = multiprocessing.Process(None,f,'1',('1st',))
p1.start()
在控制台中,我一遍又一遍地看到“1st say hi”,在任务管理器中,我看到大量的解释器开始运行——我从 PyDev eclipse 和命令行中运行它——结果相同。
我得到的另一个结果是运行了一个 python 解释器(虽然死亡并很快生成另一个解释器),所以我无法在任务管理器中杀死它(句柄无效)。不过,它占用了 100% 的处理器。
我习惯了 java 线程 API,模块 multiprocessing 声称具有与线程模块类似的接口,它是 java 的副本。
为什么进程没有死亡?我缺少什么来简单地让这个产生一个线程,打印这个东西然后消失?
Thx,你们统治!