TGViewer
Python ментор Python ментор @python_dev_mentor · 533 subscribers
Post #19 1.57K
Python ментор #python, #multiprocessing За многопроцесность, в python отвечает модуль multiprocessing, ничего устанавливать не надо, просто импортируем. Внимание на картинки❗️У нас есть какая-то задача cpu_bound, она считает сумму всех чисел от 0 до number и нагружает…
#multithreading #multiprocessing

Про GIL

Возникает закономерный вопрос, а чего бы не применить потоки ко второй задаче? можете попробовать, ничего не сломается, но работать быстрее не будет 🥲. Почему? Ведь мы запустили также 2 задачи параллельно, почему код не исполняется в 2 раза быстрее?!

Это особенность именно питона, тут не могут работать несколько потоков одновременно! Это происходит потому что в интерпретаторе есть код, который называется GIL(global interpreter lock). Он делает так, чтобы в один момент времени, только один поток мог иметь контроль над интерпретатором.

Вообще, GIL придуман не для того, что портить нам жизнь и не давать использовать потоки во всю их силу. Он помогает нам с вами не думать об освобождении памяти, да и вообще, он даже может ускорять программы, если они работают только в один поток!

Погоди, шеф, а почему же запросы тогда ускорялись 🧐? Мы использовали потоки, чтобы ускорять http-запросы, помните? Дело в том, что в этом случае работает также, только один поток в один момент времени, просто это io-bound задачи, они большую часть времени ждут! И пока один поток ждет, включается другой, делает запрос и также ждет, передавая управление другому и так далее. Поэтому такого рода задачи действительно эффективно решаются с помощью многопоточности.
  • 👍 14
  • 🔥 5
  • 🤯 3
  • 💯 3
  • 😱 1
  • 🤝 1
More from @python_dev_mentor
  1. Oct 16, 2024Здарова всем ✌️ В этом месяце я сам начал активно готовиться к собеседованиям и решил подт…
  2. Oct 9, 2024Python ментор pinned a photo
  3. Oct 9, 2024Три недели назад мы с Сашей @a_krasilov (он был первый кто, сделал задание), приступили к…
  4. Oct 2, 2024Так получилось, что в видео я смешал свою личную историю (не базированную 😱) с базой 🐘,…
  5. Oct 1, 2024Недавно сделал тестовое задание, первый раз за 6 лет! Не занимался этим с момента поиска п…
  6. Sep 23, 2024На выходных написал мой бывший ученик — прошел год с тех пор, как мы закончили работу над…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →