python
python
| Характеристика | Многопоточность (Multithreading) | Многопроцессорность (Multiprocessing) |
|---|---|---|
| GIL (Global Interpreter Lock) | Ограничивает истинное параллельное выполнение CPU-bound задач | Обходит GIL, каждый процесс имеет свой интерпретатор |
| Использование ЦПУ | Не эффективно для CPU-bound задач | Отлично для CPU-bound задач |
| Использование памяти | Потоки разделяют память одного процесса | Каждый процесс имеет свое адресное пространство |
| Создание/Уничтожение | Быстрее и дешевле | Медленнее и дороже |
| Коммуникация | Проще (общая память) | Сложнее (IPC - Inter-Process Communication) |
| Изоляция ошибок | Ошибка в одном потоке может повлиять на весь процесс | Ошибка в одном процессе не влияет на другие |
| Применение | I/O-bound задачи (ввод-вывод, сеть) | CPU-bound задачи (вычисления) |