Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于多处理的Python错误_Python_Multiprocessing - Fatal编程技术网

用于多处理的Python错误

用于多处理的Python错误,python,multiprocessing,Python,Multiprocessing,我测试python多处理并编写简单程序: from multiprocessing import Process from time import sleep def f(name): print 'hello', name x=1 while True: x+=1 sleep(1) print 'subprocess '+str(x) if x==10: quit() if _

我测试python多处理并编写简单程序:

from multiprocessing import Process
from time import sleep

def f(name):
    print 'hello', name
    x=1
    while True:
        x+=1
        sleep(1)
        print 'subprocess '+str(x)

        if x==10:
            quit()

if __name__ == '__main__':
    p = Process(target=f, args=('bob',))
    p.start()
    x=1
    while True:
        x+=1
        sleep(0.1)
        print 'main process '+str(x)
        if x==100:
            quit()
它的工作,但我有一点错误:

Traceback (most recent call last):
      File "ttt.py", line 17, in <module>
        p.start()
      File "/usr/lib64/python2.6/multiprocessing/process.py", line 104, in start
        self._popen = Popen(self)
      File "/usr/lib64/python2.6/multiprocessing/forking.py", line 99, in __init__
        code = process_obj._bootstrap()
      File "/usr/lib64/python2.6/multiprocessing/process.py", line 242, in _bootstrap
        sys.stderr.write(e.args[0] + '\n')
    TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'
回溯(最近一次呼叫最后一次):
文件“ttt.py”,第17行,在
p、 开始()
文件“/usr/lib64/python2.6/multiprocessing/process.py”,第104行,在开始处
self.\u popen=popen(self)
文件“/usr/lib64/python2.6/multiprocessing/forking.py”,第99行,在__
代码=进程\u对象\u引导()
文件“/usr/lib64/python2.6/multiprocessing/process.py”,第242行,在_bootstrap中
sys.stderr.write(e.args[0]+'\n')
TypeError:不支持+:“NoneType”和“str”的操作数类型
使用
sys.exit()
而不是
quit()
。后者仅用于交互式口译员

如Kevin所述,您可以使用
f
中的
return
正常退出该功能。这可能更合适。

使用
sys.exit()
而不是
quit()
。后者仅用于交互式口译员

如Kevin所述,您可以使用
f
中的
return
正常退出该功能。这也许更合适