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