我有这样的:python多处理,做进程共享一个公共变量?
#!/usr/bin/env python
import multiprocessing
class MultiprocessingTest(object):
def __init__(self):
self.cmd = ''
def for_process_A(self):
self.cmd = "AA"
print "%s executing and cmd is %s" % (multiprocessing.current_process().name, self.cmd)
def for_process_B(self):
self.cmd = "BB"
print "%s executing and cmd is %s" % (multiprocessing.current_process().name, self.cmd)
if __name__ == '__main__':
obj = MultiprocessingTest()
process_A = multiprocessing.Process(target=obj.for_process_A, name='process_A')
process_B = multiprocessing.Process(target=obj.for_process_B, name='process_B')
process_A.start()
process_B.start()
process_A.join()
process_B.join()
问:
执行两个进程共享变量cmd
?
这两个过程有一个单独的类MultiprocessingTest
的定义和工作呢?
这两个进程中存在哪些数据的独立副本?
我想从理论角度理解这里实际发生了什么。你能评论一下吗?
测试运行O/P:
$ ./commonvar.py
process_A executing and cmd is AA
process_B executing and cmd is BB
现在,这是一个奇妙的测试来运行自己!它出现了什么?什么是结论? –
@Puciek增加了测试运行结果。 – abc
那么测试对你说什么?不太正确?你可能需要扩展它以真正测试你想要做什么,以及测试;) –