Запитання з тегом «python-multiprocessing»

8
Багатопроцесорний Python PicklingError: Неможливо підсолити <тип 'функції'>
Мені шкода, що я не можу відтворити помилку більш простим прикладом, і мій код занадто складний для публікації. Якщо я запускаю програму в оболонці IPython замість звичайного Python, все виходить добре. Я переглянув кілька попередніх записок щодо цієї проблеми. Всі вони були викликані використанням пулу для виклику функції, визначеної у …

12
Як я можу відновити повернене значення функції, переданої в багатопроцесорний процес.Процес?
У наведеному нижче прикладі я хотів би відновити повернене значення функції worker. Як я можу робити це? Де зберігається це значення? Приклад коду: import multiprocessing def worker(procnum): '''worker function''' print str(procnum) + ' represent!' return procnum if __name__ == '__main__': jobs = [] for i in range(5): p = multiprocessing.Process(target=worker, …

1
багатопроцесорна робота. Басейн: в чому різниця між map_async та imap?
Я намагаюся навчитися використовувати multiprocessingпакет Python , але я не розумію різниці між map_asyncі imap. Я помітив, що обидва map_asyncі imapвиконуються асинхронно. Отже, коли я повинен використовувати один над іншим? І як мені отримати результат, повернутий map_async? Чи варто використовувати щось подібне? def test(): result = pool.map_async() pool.close() pool.join() return …

2
Коли слід викликати multiprocessing.Pool.join?
Я використовую 'multiprocess.Pool.imap_unordered' наступним чином from multiprocessing import Pool pool = Pool() for mapped_result in pool.imap_unordered(mapping_func, args_iter): do some additional processing on mapped_result Чи потрібно мені телефонувати pool.closeабо pool.joinпісля циклу for?

2
Спільне використання черги результатів між кількома процесами
Документація до multiprocessingмодуля показує, як передати чергу в процес, з якого розпочато multiprocessing.Process. Але як я можу поділитися чергою з запущеними асинхронними робочими процесами apply_async? Мені не потрібне динамічне приєднання або щось інше, просто спосіб для робітників (неодноразово) повідомляти свої результати до бази. import multiprocessing def worker(name, que): que.put("%d is …

3
Багатопроцесійна обробка Python: розуміння логіки, яка стоїть за `chunksize`
Які фактори визначають оптимальний chunksizeаргумент до таких методів multiprocessing.Pool.map()? .map()Метод представляється використовувати довільну евристику для його по замовчуванням chunksize (описано нижче); що мотивує цей вибір і чи існує більш продуманий підхід, заснований на певній ситуації / установці? Приклад - скажіть, що я: Перехід iterableдо, .map()який має ~ 15 мільйонів елементів; …

3
Чи можна запустити функцію в підпроцесі без створення потоків або написання окремого файлу / сценарію.
import subprocess def my_function(x): return x + 100 output = subprocess.Popen(my_function, 1) #I would like to pass the function object and its arguments print output #desired output: 101 Я знайшов лише документацію щодо відкриття підпроцесів за допомогою окремих сценаріїв. Хтось знає, як передавати функціональні об'єкти або навіть простий спосіб передавати …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.