Жесть как быстро, не успевал останавливать, чтобы посмотреть и подумать) . Мне нужно запустить параллельно несколько одинаковых функций с разными аргументами и получить результаты. Вот, думаю как сделать. Спсибо, автор,
Спасибо за материал Помогло. И вопросик возник, если не затруднит ответить: Callback нужен только для вывода или можно как-то передать результат выполнения функции callback в следующие фунцкии\переменные. Грубо говоря как сделать return из callback и принять его?
Отличный выдос. спасибо помог настроить парсер в многопоток. Можно, кстати, сделать видео, как парсить сайт (если надо много страниц спарсить) в мультипроцессе
Подскажите пожалуйста, как сделать так чтобы команда ( например print('1111111111')) стоящая в начале программы и вне функции которую мы запускаем в многопроцессорном режиме не исполнялась в этом режиме ( то есть мне нужно что бы команда print('1111111111') исполнилась в начале программы в обычном режиме а потом исполнилась в многопроцессорном режиме функция . Можете проверить дописав в начале программы команду print что она исполнится не один раз. Так же если с помощью команды while зациклить и вход и выход из много процессорного режима (соответственно используя каждый раз команды pool.close() и pool.join() ) то программа на каждом цикле все равно исполняет команду print('1111111111') в многопроцессорном режиме которая не находится в функции то есть программа каждый раз как бы исполняется с начала.
почему аргумент iterable, в который передается список (метод map), или список кортежей(метод starmap) озвучивается как итератор? Ведь передается список, а это итерируемый объект. Или я чего то не понял, буду благодарен за пояснения.
Очереди были в прошлом видео, здесь только Pool и его методы, это курс только по multiprocessing, логгирование и асинхронность будет отдельно рассматриваться. Так как не вижу смысла сейчас показывать асинхронность, когда это не поймут.
@@zproger Стоп. Как это отддельно? Я имел ввиду логгирование в контексте мултипроцессинга и тоже самое касательно асинхронности. Или Вы предлагаете писать программы с мультипроцессингом вообще без логгирования?
Очень крутое видео! спасибо тебе большое за труд! НО смотря на это возникает вопрос, как сделать это все без конструкции 'if __name__ == '__main__':' ???
Pool будет бежать по всем аргументам списка и запускать указанное при создании объекта Пулла количество процессов, тем самым он сам будет запускать и закрывать процессы, пока обрабатываются все значения, которые мы передали. Если же использовать процессы в этом случае, то нужно будет это делать руками.
Стоит ли делать видео по Condition и Event в multiprocessing?
Да, как раз завис на этом моменте. И ещё интересует, как использовать обмен данными между процессами
А что это такое?
это просто неебический видос. Жаль, что короткий. Спасибо
😀😀 Спасибо тебе огромное! starmap - это то что я искал несколько дней!!!! 6:25 тот случай когда нужно было передать 2 и более аргумента в функцию!!!
Как же ты крут, мужик! Спасибо огромное
Благодарю за фидбэк!
Спасибо! Больше ни у кого не нашел про метод pool
Жесть как быстро, не успевал останавливать, чтобы посмотреть и подумать) . Мне нужно запустить параллельно несколько одинаковых функций с разными аргументами и получить результаты. Вот, думаю как сделать. Спсибо, автор,
from threading import Thread
def some_print(char):
print(char)
some_list = ["arg1", "arg2", "arg3"]
for item in some_list:
t = Thread(target=some_print, args=(item,))
t.start()
Хорошо объясняешь материал и хорошее качество, респект)
Благодарю 🙂
Почему так мало Лайков? Народ смотрит всякую ерунду, а полезную информацию не видит.
Автор, спасибо за труд!
Надо подборку приколов с котами снимать, там будет много просмотров)
ну судя по всему если ты такую поставил аватарку то тоже не все полезные смотришь видео и ты своими умственными способностями не блещешь...
При использовании контекстного менеджера разве нужно применять p.close()?
А разве есть смысл делать количество процессов больше, чем количество ядер?
Спасибо за материал Помогло.
И вопросик возник, если не затруднит ответить: Callback нужен только для вывода или можно как-то передать результат выполнения функции callback в следующие фунцкии\переменные. Грубо говоря как сделать return из callback и принять его?
Отличный выдос. спасибо помог настроить парсер в многопоток. Можно, кстати, сделать видео, как парсить сайт (если надо много страниц спарсить) в мультипроцессе
Подскажите пожалуйста, как сделать так чтобы команда ( например print('1111111111')) стоящая в начале программы и вне функции которую мы запускаем в многопроцессорном режиме не исполнялась в этом режиме ( то есть мне нужно что бы команда print('1111111111') исполнилась в начале программы в обычном режиме а потом исполнилась в многопроцессорном режиме функция . Можете проверить дописав в начале программы команду print что она исполнится не один раз. Так же если с помощью команды while зациклить и вход и выход из много процессорного режима (соответственно используя каждый раз команды pool.close() и pool.join() ) то программа на каждом цикле все равно исполняет команду print('1111111111') в многопроцессорном режиме которая не находится в функции то есть программа каждый раз как бы исполняется с начала.
почему аргумент iterable, в который передается список (метод map), или список кортежей(метод starmap) озвучивается как итератор? Ведь передается список, а это итерируемый объект. Или я чего то не понял, буду благодарен за пояснения.
Добрый день как избавиться от ошибки, при использование пула: AssertionError: daemonic processes are not allowed to have children
А есть способ отдельный процесс уже в работающий пул закинуть?
При использовании контекстного менеджера использовать close и join не нужно.
Странно , у меня этот код вообще не заработал : ничего не печатает .
Полное видео оказалось полным ... Т.е. а где самое интересное например executer-ы ? Где очереди? Где логгирование ? Где связь с асинхронкой?
Очереди были в прошлом видео, здесь только Pool и его методы, это курс только по multiprocessing, логгирование и асинхронность будет отдельно рассматриваться. Так как не вижу смысла сейчас показывать асинхронность, когда это не поймут.
@@zproger Стоп. Как это отддельно? Я имел ввиду логгирование в контексте мултипроцессинга и тоже самое касательно асинхронности.
Или Вы предлагаете писать программы с мультипроцессингом вообще без логгирования?
4:25 что будет если не писать в конце p.close и p.join?
я попробовал, для методов _async просто ничего не выполняется, если убрать close, то вылезает ошибка что pool еще запущен
Очень крутое видео! спасибо тебе большое за труд! НО смотря на это возникает вопрос, как сделать это все без конструкции 'if __name__ == '__main__':' ???
Она защищает от бесконечной рекурсии
А в чем отличие запустить пул или запустить отдельно процессы, может я не услышал про это но хотелось бы понять
Pool будет бежать по всем аргументам списка и запускать указанное при создании объекта Пулла количество процессов, тем самым он сам будет запускать и закрывать процессы, пока обрабатываются все значения, которые мы передали. Если же использовать процессы в этом случае, то нужно будет это делать руками.
Спасибо за видос! а в классах такое работает? всмысле вариант что-бы вернуть значения сразу из процесса, и как бороться с конфликтом при записи
Да, в классах это работает.