分配给子进程

时间:2017-05-10 22:51:43

标签: python python-3.x python-multiprocessing

我写了一个非常简单的脚本来玩多处理:

import multiprocessing
import time

def func1(d):
    while d['message'] != 'kill':
        print(d['message'])
    print('done')

def func2(d):
    for i in range(60):
        time.sleep(1)
        d['message'] = 'Message ' + str(i)
    d['message'] = 'kill'

if __name__ == '__main__':
    mgr = multiprocessing.Manager()
    d = mgr.dict()
    d['message'] = 'Waiting...'
    print(d['message'])
    proc1 = multiprocessing.Process(target=func1,args=(d,))
    proc2 = multiprocessing.Process(target=func2,args=(d,))
    proc1.start()
    proc2.start()

当我运行此操作时,请收到以下错误:

  

处理流程-2:
  追溯(最近的呼叫最后):
   文件“C:\ Python34 \ lib \ multiprocessing \ managers.py”,第724行,在_callmethod中   conn = self._tls.connection
  AttributeError:'ForkAwareLocal'对象没有属性'connection'

我看到有些人遇到类似的问题,因为他们给的文件与标准库引用的模块名称相同,但我只写了一个.py文件!

0 个答案:

没有答案