python在Windows系统的分布式进程问题

2019-07-22 00:35发布

问题:

在创建进程过程中,有如下代码:
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 中反序列化。