这是我的测试代码(在Windows上为py 2.7):
import multiprocessing
print multiprocessing.current_process().name
print type(multiprocessing.current_process())
print type(multiprocessing.current_process().name)
def main():
pass
if __name__ == "__main__":
multiprocessing.freeze_support()
p = multiprocessing.Process(target=main, name="My Child Process")
p.start()
无需编译,代码可以正常打印
MainProcess
<class 'multiprocessing.process._MainProcess'>
<type 'str'>
My Child Process
<class 'multiprocessing.process._MainProcess'>
<type 'str'>
不幸的是,在使用pyinstaller之后,它将始终默认为“ MainProcess”。结果如下:
MainProcess
<class 'multiprocessing.process._MainProcess'>
<type 'str'>
MainProcess
<class 'multiprocessing.process._MainProcess'>
<type 'str'>