Почему manager.dict должен быть заблокирован перед записью внутри? - PullRequest
0 голосов
/ 04 декабря 2018

Я провожу свой день, исправляя ошибку в многопроцессорном пуле в Python 3.6.Я посылал около 550 запросов к API за 15 секунд.Для каждого запроса я добавлял данные в Multiprocess.Manager.dict ().Но у меня не было всех моих данных в конце.Проблема, которую я обнаружил, чтобы исправить ошибки, заключалась в блокировке .acquire () перед тем, как писать в этот общий ресурс.Я знал о механике блокировки и т. Д., Но я подумал, что manager.dict справился со случаем, что многие процессы могут добавлять данные внутрь.Но, похоже, нет.

У вас есть больше деталей об этой механике?Кажется очень странным, что общая переменная для многих процессов не управляет одновременной записью ...

Спасибо:)

...