在python多处理中跨进程共享锁列表
我正在从事一个项目,该项目共享在python多处理中跨进程共享锁列表,python,selenium-webdriver,locking,multiprocessing,python-multiprocessing,Python,Selenium Webdriver,Locking,Multiprocessing,Python Multiprocessing,我正在从事一个项目,该项目共享chrome浏览器,并开始在多个进程中使用selenium包。由于这些浏览器(存储为列表对象)是使用Manager.list()在进程之间共享的,因此我还希望在进程之间共享Manager.Lock()的相应列表,以便进程在通过浏览器访问URL之前在浏览器上获得Lock。但是,在示例代码中,我得到了有关锁的序列化的错误,如下所示: >>> from multiprocessing import Manager >>> manager
chrome浏览器
,并开始在多个进程中使用selenium包
。由于这些浏览器(存储为列表对象)是使用Manager.list()
在进程之间共享的,因此我还希望在进程之间共享Manager.Lock()
的相应列表,以便进程在通过浏览器访问URL之前在浏览器上获得Lock
。但是,在示例代码中,我得到了有关锁的序列化的错误,如下所示:
>>> from multiprocessing import Manager
>>> manager = Manager()
>>> lock_list = manager.list()
>>> lock_list.append(manager.Lock())
>>> print type(lock_list[0])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 2, in __getitem__
File "/usr/lib/python2.7/multiprocessing/managers.py", line 774, in _callmethod
raise convert_to_error(kind, result)
multiprocessing.managers.RemoteError:
---------------------------------------------------------------------------
Unserializable message: ('#RETURN', <thread.lock object at 0x7fa2115452b0>)
---------------------------------------------------------------------------
>>>
来自多处理导入管理器的>
>>>经理=经理()
>>>lock_list=manager.list()
>>>lock\u list.append(manager.lock())
>>>打印类型(锁定列表[0])
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“”,第2行,在\uu getitem中__
文件“/usr/lib/python2.7/multiprocessing/managers.py”,第774行,在调用方法中
引发转换为错误(种类、结果)
multiprocessing.managers.RemoteError:
---------------------------------------------------------------------------
不可序列化消息:(“#RETURN”,)
---------------------------------------------------------------------------
>>>
如果有人能帮我解决这个问题,那就太好了。谢谢