Большинство компьютеров, даже на мобильных платформах, имеют многоядерные процессоры. Чтобы воспользоваться всеми этими ядрами, разработчики традиционно используют потоки совместно используемой памяти, работающие одновременно. Однако параллелизм общего состояния подвержен ошибкам и может привести к сложному коду.
Вместо потоков весь код Dart выполняется внутри изолятов. Каждый изолят имеет свою собственную кучу памяти, гарантирующую, что ни одно состояние изолята не доступно из любого другого изолята.
Для получения дополнительной информации см. Следующее:
- Dart синхронное программирование: изоляторы и циклы
- dart:isolate ссылка на API, включая Isolate.spawn() и TransferableTypedData
- Фоновый парсинг кулинарной книги на сайте Flutter
- Пример приложения с изолятами