Менеджер многопроцессорной обработки.список с использованием подкласса list

#python #multiprocessing #multiprocessing-manager

#python #многопроцессорная обработка #менеджер многопроцессорной обработки

Вопрос:

Я пытаюсь использовать свой подкласс list при вызове manager.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:UsersE0238015Anaconda3envszezolibmultiprocessingmanagers.py", line 193, in handle_request
    request = c.recv()
  File "C:UsersE0238015Anaconda3envszezolibmultiprocessingconnection.py", line 251, in recv
    return _ForkingPickler.loads(buf.getbuffer())
AttributeError: Can't get attribute 'mylist' on <module '__main__' (built-in)>
---------------------------------------------------------------------------
 

Комментарии:

1. Пожалуйста, обновите свой вопрос с полным обратным отслеживанием ошибок.

2. docs.python.org/3/library/…

3. @Monica, спасибо. Я проверил ссылку, но не могу ее применить. Не могли бы вы помочь с этим небольшим примером, который я показываю