TGViewer
Python ментор Python ментор @python_dev_mentor · 533 subscribers
Post #13 956
Python ментор #interview, #python, #asyncio, #multiprocessing, #multithreading Совсем недавно я собеседовал трех джунов и, конечно, спрашивал про асинхронность. Спойлер: никто не смог преодолеть этот вопрос, хотя, ребята толковые, и явно что-то читали. Я понял, что у многих…
#interview, #multiprocessing, #multithreading

Про процессы и потоки

Важно: ☝️ Эти понятия — общие и применимые не только к Python. Понятия "процесс" и "поток" в операционных системах почти не отличаются от тех, что используются в Python.

Когда вы запускаете любую программу на своем компьютере, например, Word, создается процесс. Операционная система выделяет ресурсы для этой программы, определяя, сколько оперативной памяти и времени процессора ей нужно. Если вы запустите еще одну программу, например, Zoom, то ваш Word не будет знать об этом, да ему и не надо! У каждого процесса есть свои ресурсы, и у Zoom'а тоже появляются свои.

Здесь важны две вещи. Во-первых, процесс просто представляет собой программу на вашем компьютере (кстати, программа, которую вы написали на Python и запустили, тоже является процессом). Во-вторых, процесс не знает о существовании других процессов рядом с ним и не делит с ними свою область памяти.

Когда мы запускаем процесс Word, внутри него сразу создается поток, который выполняет всю работу. Однако Word — это сложная программа, и внутри нее создается множество потоков. Например, один поток может следить за правописанием, а другой может отправлять ваши личные данные Microsoft 😮️️️️️️. И интересно то, что эти потоки знают о существовании друг друга. Например, поток, отправляющий ваши личные данные, знает от другого, что в школе вы учились не очень и у вас куча орфографических ошибок. Потоки делят между собой одну область памяти, поэтому знают о существовании друг друга!

Обратите внимание на иллюстрацию (личного производства 😎)! Процессы — это большие стрелочки, которые не делятся со своими соседями памятью. А потоки — это маленькие стрелочки внутри процесса, которые выполняют всю работу и могут обмениваться информацией в одной области памяти.

На интервью этих тезисов хватит с головой, да и вообще полезно знать как работает штука, которую вы используете каждый день
  • 🔥 13
  • 👍 7
  • ❤ 2
  • 🤝 2
  • 😱 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 →