#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, спасибо. Я проверил ссылку, но не могу ее применить. Не могли бы вы помочь с этим небольшим примером, который я показываю