Поток (thread) — это наименьшая единица выполнения в многозадачной операционной системе. Это способ, которым программа может выполнять несколько задач одновременно в рамках одного процесса.
Ключевые характеристики:
В Flutter используется модель однопоточного выполнения UI-кода, где основной поток (UI thread) обрабатывает все отрисовку, события ввода и анимации. Тяжелые вычисления выполняются в изолятах (isolates), которые представляют собой отдельные процессы с собственной памятью, взаимодействующие через порты сообщений.
dart
Различия между процессами и потоками:
| Характеристика | Процесс | Поток |
|---|---|---|
| Адресное пр-во | Отдельное для каждого процесса | Общее для потоков в одном процессе |
| Ресурсы | Разные | Разделяемые |
| Создание | Дорогое (большие накладные расходы) | Дешевое (меньшие накладные расходы) |
| Коммуникация | Более сложная (IPC - Inter-Process Comm) | Более простая (доступ к общей памяти) |
| Отказо-устойчивость | Падение одного процесса не влияет на другие | Падение одного потока может повлиять на процесс |