正如我发现窗户有点猪的,当涉及到多,我有一个关于它的问题。
该是pydoc指出,你应该使用多重保护时,一个Windows应用程序的入口点 。
这是否意味着仅创建新进程的代码?
例如
脚本1
import multiprocessing
def somemethod():
while True:
print 'do stuff'
# this will need protecting
p = multiprocessing.Process(target=somemethod).start()
# this wont
if __name__ == '__main__':
p = multiprocessing.Process(target=somemethod).start()
在这个脚本,你需要的,如果主包裹这是因为在产卵过程中的线。 但是关于如果你有什么?
脚本2
file1.py
import file2
if __name__ == '__main__':
p = Aclass().start()
file2.py
import multiprocessing
ITEM = 0
def method1():
print 'method1'
method1()
class Aclass(multiprocessing.Process):
def __init__(self):
print 'Aclass'
super(Aclass, self).__init__()
def run(self):
print 'stuff'
需要在这种情况下要保护什么? 如果有一个,如果在__main__文件2,会发生什么,如果将正在创建进程的这里面的代码得到执行?
注:我知道的代码将无法编译。 这只是一个例子。