wwqgtxx
2019-05-07 09:10:55 +08:00
正常情况下 Manager 会对所有经过他传输的对象转化为一个 Proxy 对象,而当你需要传递一个共享的 list 的时候应该调用 manager.list()创建 list,而不是直接发送一个 list 过去。另外 python 的类型并不重要,就算它是个 AutoProxy 类型也应该可以迭代,具体的还要看你的代码才能下结论
Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 23:09:28) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import multiprocessing
>>> manager = multiprocessing.Manager()
>>> l = manager.list()
>>> l.append(1)
>>> l.append(2)
>>> l.append(3)
>>> type(l)
<class 'multiprocessing.managers.ListProxy'>
>>> tuple(l)
(1, 2, 3)