TGStat
TGStat
Qidiruv uchun matnni kiriting
Ilg‘or kanal qidiruvi
  • flag Uzbek
    Sayt tili
    flag Russian flag English flag Uzbek
  • Saytga kirish
  • Katalog
    Kanal va guruhlar katalogi Hududiy to‘plamlar Tematik to‘plamlar Платные каналы Kanallar qidiruvi
    Kanal/guruh qo‘shish
  • Reytinglar
    Kanallar reytingi Guruhlar reytingi Postlar reytingi
    Brendlar va shaxslar reytingi
  • Analitika
  • Postlarda qidiruv
  • Telegram'ni kuzatish
  • Targ‘ibot
    Yandex Business orqali reklama Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
Грокаем C++

12 Jun, 12:00

Telegram'da ochish Ulashish Shikoyat qilish

​​Процесс и поток. Суть
#новичкам

Один из самых популярных вопросов на собесах "в чем отличия потоков и процессов?". Новичков он осаживает, потому что они изучали, как писать код, а не нюансы работы операционной системы и всех этих подкапотных дел. Плюс оба понятия как будто подразумевают какую-то движуху. Но какую?

Погуляв по сети при подготовке к этой серии постов, я ужаснулся количеству путаницы, непонятицы, противоречивицы в "объяснениях" этой темы на русском языке. Надеюсь, что у меня получится лучше, поэтому буду рад фитбэку от новичков касательно понятности изложения.

Сейчас не будем вдаваться в детали работы этих сущностей(это в будущем). Сейчас важно просто понять их суть и как они взаимодействуют между собой.

Любая запущенная программа - это "процесс" с точки зрения ОС. По сути это некая сущность внутри компьютера, которая в себя инкапсулирует весь необходимый объем мероприятий, чтобы ваш бинарник мог в реальности что-то там рассчитывать.

Но сам процесс ничего не считает. Он как оболочка или контейнер, внутри которого происходят расчеты. Само же исполнение кода(расчеты) реализуется потоками.

Обратимся к аналогии для пущего понимания. Мы в ресторане, в котором есть кухня. Кухня, обеспечивающая едой сотни людей в день - это довольно большая и сложная хреновина, в которой много чего есть: само помещение, вентиляция, холодильники, печки, сковородки и тд. Все это нужно для того, чтобы вы поели том-ям.

Но кухня сама по себе не работает. Нужны повара, которые по технологической карте из правильных ингредиентов будут готовить еду. Используя инструментарий кухни, повара производят еду.

Так вот кухня - это процесс, а повара - потоки.

Процесс нужен для обеспечения исполнения, а потоки - это и есть исполнение.

На самом деле пожарить вам стейк или скрутить шаурму может и один человек. Он будет делать все сам, просто не такие большие объемы будут. Если нужно мастабироваться и разделять обязанности, то придется нанимать еще поваров.

Давайте резюмируем и проговорим несколько важных вещей:

👉🏿 Процесс — это экземпляр выполняющейся программы. Это сущность, предоставляющая инструменты для исполнения кода.

👉🏿 Поток - само исполнение кода. Если где-то выполняются инструкции кода, значит там есть поток исполнения.

👉🏿 У каждого ресторана своя площадь, с другими заведениями он местом не делится. Так и у процесса своё адресное пространство — там он царь и бог, но к чужой памяти у него нет доступа .

👉🏿 Повара на кухне свободно общаются и делят оборудование. *Потоки одного процесса легко обмениваются данными, так как используют одну и ту же память и ресурсы

👉🏿 Если повар ошибётся и сломает холодильник — вся колбаса может протухнуть, клиенты будут тесно дружить следующие пару дней с белым другом и писать жалобы на ресторан, что может его вообще обанкротить. Но эта протухшая колбаса никак не повлияет на кафешку рядышком за углом. Потоки могут сделать что-то нехорошее и досрочно завершить работу процесса с ошибкой. Но это никак не повлияет на работу других процессов.

Get to the essence. Stay cool.

#OS

4.1k 0 44 14 71
Katalog
Kanal va guruhlar katalogi Kanallar to‘plamlari Kanallar qidiruvi Kanal/guruh qo‘shish
Reytinglar
Telegram-kanallar reytingi Telegram-guruhlar reytingi Postlar reytingi Brendlar va shaxslar reytingi
API
Statistika API'si Postlar qidiruvi API'si API Callback
Kanallarimiz
@TGStat @TGStat_Chat @telepulse @TGStatAPI
O‘qish
Академия TGStat Telegram tadqiqoti 2019 Telegram tadqiqoti 2021 Telegram tadqiqoti 2023
Kontaktlar
Справочный центр Qo‘llab-quvvatlash Email Vakansiyalar
Har xil narsalar
Foydalanuvchi shartnomasi Maxfiylik siyosati Ommaviy oferta
Botlarimiz
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot