我寫了一個很簡單的程序來實現多進程,但是出現了一些問題。記錄一下。
from multiprocessing import Process,freeze_support
from run import func
def func(i):
print("This is prcecess %d"%i)
if __name__ == '__main__':
freeze_support()
workers = [Process(target=func,args=(i,)) for i in range(4)]
for i in workers:
i.start()
i.join()
這個程序看起來沒問題,但是不管我怎樣運行都會報錯:AttributeError: Can't get attribute 'func' on <module '__main__' (built-in)>
然後我在網上找到了解決辦法:把進程函數放到另一個py文件即可。