В чем разница между потоком и процессом
Python
Senior
Без компании
В чем разница между потоком и процессом
Ответы
Процесс — это экземпляр программы со своим адресным пространством, ресурсами (память, файлы) и независимым выполнением. Поток (тред) — это часть процесса, использующая общую память и ресурсы, но выполняющаяся параллельно.
**Основные различия:**
- Процессы изолированы, потоки разделяют память.
- Создание процесса дороже, чем потока.
- Потоки легче взаимодействуют (через общие переменные), но требуют синхронизации (Lock, Semaphore).
**Пример с потоками:**
```
import threading
def task():
print("Поток выполняется")
thread = threading.Thread(target=task)
thread.start()
thread.join()
```
**Пример с процессами:**
```
import multiprocessing
def task():
print("Процесс выполняется")
process = multiprocessing.Process(target=task)
process.start()
process.join()
```
Потоки подходят для I/O-bound задач, процессы — для CPU-bound.