Найти - Пользователи
Полная версия: Модуль multiprocessing
Начало » Python для новичков » Модуль multiprocessing
1
vivos
Здравствуйте. Прошу помощи в освоении модуля.
1) Создаем пул. Запускаем 5 процессов с функцией myfunc и аргументами initargs, так?
Я так понял, что процессыл выполняются синхронно?

p = Pool([numprocess=5 [,myfunc [, initargs]]])

2) Какое значение chunksize по умолчанию? Я так понял это единица?

p.map(func, iterable [, chunksize])

3) Что за callback? Можно пример?

p.apply_async(func [, args [, kwargs [, callback]]])




pylin
1. Процессы в pool могут как раз запускаться в различное время насколько я понимаю, здесь же еще многое зависит от планировщика ОС и т.д.
3. callback – функция, которая будет вызываться в случае наступления каких-либо событий с выполняющимся процессом, например, функция отработала свое и возвращает результат. На это и должна среагировать функция callback.
vivos
Правильно ли я понял, что в случае с map_async(processLine, lines) если функция processLine работает с файловыми дескрипторами, то нужно делать в этой функции блокировку файлов с помощью Lock()?
file_lock = Lock()
file_lock.acquire()
s.write(res)
file_lock.release()
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB