У меня есть однопоточная программа Python, и я хотел бы изменить ее, чтобы использовать все 32 процессора на сервере, на котором она работает. Как я себе это представляю, каждый рабочий процесс будет получать задание из очереди и отправлять свои выходные данные в очередь. Однако для завершения своей работы каждому рабочему процессу потребуется доступ только для чтения к сложной структуре данных в памяти — многим гигабайтам словарей и объектов, которые связаны друг с другом. Есть ли в python простой способ поделиться этой структурой данных, не создавая ее копию для каждого рабочего процесса?
Спасибо.
multiprocessing.Value
илиmultiprocessing.Array
для совместного использования памяти. Но из ваших комментариев кажется, что это необходимо только в том случае, если я хочу писать в общую память. Это правильно? 14.10.2013