问题:
在创建进程过程中,有如下代码:
url_manager=Process(target=url_manager_proc,args=(url))
result_solve=Process(target=result_solve_proc,args=())
store=Process(target=store_proc,args=())
url_manager.start()
result_solve.start()
store.start()
然而因为特殊原因,需要传递对象到url_manager_proc函数中。
但是传递对象导致了PermissionError: [WinError 5] 拒绝访问的错误。
url_manager_proc需要形参为类,而该对象没有办法作为全局变量。
回答1:
弃用Windows10,改用Linux(Ubuntu18.04)。分布式进程,就应该用Linux好点吧!
回答2:
你可以将对象 进行序列化(pickle),然后在url_manager_proc 中反序列化。