使用list子类的Multiprocessing manager.list

2024-10-01 04:56:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在调用manager.list时使用我的list子类。因此,我可以添加自己的方法,但它不起作用。有可能这样做吗

class mylist(list):
    def __init__(self, *args):
        super().__init__(*args)
                 
myinherit = mylist()
#myinherit.append(2)

import multiprocessing as mp
mpl    = mp.Manager()
llist  = mpl.list(myinherit)
llist.append(10)



    raise convert_to_error(kind, result)

RemoteError: 
---------------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\Users\E0238015\Anaconda3\envs\zezo\lib\multiprocessing\managers.py", line 193, in handle_request
    request = c.recv()
  File "C:\Users\E0238015\Anaconda3\envs\zezo\lib\multiprocessing\connection.py", line 251, in recv
    return _ForkingPickler.loads(buf.getbuffer())
AttributeError: Can't get attribute 'mylist' on <module '__main__' (built-in)>
---------------------------------------------------------------------------

Tags: ininitargsmpmultiprocessinguserslistfile