Удивительно, как часто путают программу, процесс и поток.
Вот простое объяснение.
1. Программа
Это файл на диске, содержащий набор инструкций.
Одна программа может запускать несколько процессов.
Например, Firefox может создавать отдельные процессы для разных компонентов.
2. Процесс
Это программа, которая уже выполняется.
Программа превращается в процесс, когда загружается в память и запускается.
Для работы процесс использует, например, счётчик команд, стек и регистры.
3. Поток
Поток — минимальная единица выполнения внутри процесса.
Один процесс может содержать много потоков.
Например, браузер одновременно выполняет несколько потоков. Один может загружать содержимое, другие — отрисовывать анимации, воспроизводить видео и выполнять другие задачи.
Главные различия между процессами и потоками:
• процессы независимы, а потоки существуют внутри процесса
• у каждого процесса своё адресное пространство памяти, а потоки одного процесса делят общую память
• переключение между процессами обычно дороже
• обмен данными между потоками быстрее, чем между процессами
• создание и завершение потока обычно легче и быстрее
👉 @BackendPortal
Post #3644
939
