今日学习Python编程第五章的并行系统工具,然后到下面这段代码时就出了幺蛾子
import os
def child():
print('hello from child',os.getpid())
os._exit(0)
def parent():
while True:
newpid = os.fork()
if newpid==0:
child()
else:
print('hellow from parent',os.getpid())
if input()=='q':break
parent()
运行一下报错了。。。
然后表示一脸懵逼,检查代码确实没问题,然后网上各种查都没找到解决办法,就是简单粗暴的说明为windows上面这玩意儿不能用,没有。。。嗯,和报错解释一毛一样,但是我还是不死心啊。。。
本来说以后大概可以解决这个问题,但是实际上书上下一章节就讲了这个事儿,具体解决方案有俩:
1.使用Cygwin提供类Unix的部分功能
2.windows可以使用multiproessing代替os.fork功能