Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗dtSpIsInr 105 of 224 menu
◀ ▶

Введение в изоляты в Dart

Программа на Dart выполняется в изоляте - отдельном контуре с собственной кучей. У каждого изолята своя память: переменные одного изолята не видны другому и не меняются напрямую из чужого кода.

Чтобы передать данные, изолят отправляет сообщение через порт. Значение копируется при отправке, а не разделяется между участниками. Общей переменной и блокировки для такого обмена в языке нет.

Тяжелую работу часто выносят во второй изолят, чтобы основной поток не простаивал на длинном расчете. Связь строят на ReceivePort, SendPort и Isolate.spawn из библиотеки dart:isolate.

Примеры этого раздела рассчитаны на виртуальную машину Dart на компьютере. В браузере и в DartPad такой запуск изолята с dart:isolate обычно недоступен, поэтому код нужно проверять локально через dart run.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить