Однопоточность (single-threading) — это модель выполнения программы, при которой в один момент времени выполняется только один поток команд.
Основные характеристики:
Пример в Python:
python
В этом примере task2 не начнёт выполняться, пока не завершится task1.
Применяется в случаях, когда:
Сравнение с многопоточностью:
| Однопоточность | Многопоточность |
|---|---|
| Один поток выполнения | Несколько потоков выполнения |
| Последовательное выполнение задач | Параллельное (или псевдо-параллельное) выполнение задач |
| Проще в реализации и отладке | Сложнее в реализации и отладке |
| Легко блокируется длительными операциями | Лучше обрабатывает длительные операции, не блокируя весь процесс |
| Ограниченная производительность на многоядерных процессорах для CPU-bound задач | Позволяет использовать возможности многоядерных процессоров для CPU-bound задач (с ограничениями GIL в CPython) |