Spec-Zone.ru › Dart 1

dart:isolate

Класс Isolate

Изолированная среда выполнения Dart.

Весь код Dart выполняется в изоляте, и код может обращаться к классам и значениям только из того же изолята. Разные изоляты могут обмениваться данными, отправляя значения через порты (см. ReceivePort, SendPort).

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

При создании нового изолята изолят, его создавший, получает объект Isolate , представляющий новый изолят, если операция создания прошла успешно.

Изоляты выполняют код в собственном цикле событий, и каждое событие может запускать меньшие задачи в вложенной очереди микроб задач.

Объект Isolate позволяет другим изолятам управлять циклом событий изолята, который он представляет, и просматривать изолят, например, останавливая его или получая события, когда в изоляте возникла непредвиденная ошибка.

Порт controlPort идентифицирует и предоставляет доступ к управлению изолятом, а pauseCapability и terminateCapability защищают доступ к некоторым операциям управления. Например, вызов pause на объекте Isolate, созданном без pauseCapability, не оказывает никакого влияния.

Объект Isolate , предоставленный операцией создания, будет содержать порт управления и необходимые возможности для управления изолятом. Новые объекты изолятов могут быть созданы без некоторых из этих возможностей, если необходимо, используя конструктор Isolate.Isolate.

Объект Isolate не может быть отправлен через SendPort, но порт управления и возможности могут быть отправлены и могут использоваться для создания нового функционирующего объекта Isolate в изоляте порта получателя.

Константы

BEFORE_NEXT_EVENT → int

Аргумент для ping и kill: Запрос на выполнение действия перед следующим событием.

1
IMMEDIATE → int

Аргумент для ping и kill: Запрос на немедленное выполнение действия.

0

Статические свойства

current → Isolate
только для чтения

Возвращает объект Isolate , представляющий текущий изолят.

packageConfig → Future<Uri>
только для чтения

Возвращает корень пакета текущего изолята, если таковой имеется.

packageRoot → Future<Uri>
только для чтения

Возвращает корень пакета текущего изолята, если таковой имеется.

Статические методы

resolvePackageUri(Uri packageUri) → Future<Uri>

Преобразует URI пакета в URI, не относящийся к пакету.

spawn(void entryPoint(message), message, { bool paused: false, bool errorsAreFatal, SendPort onExit, SendPort onError }) → Future<Isolate>

Создает и запускает изолят, который использует тот же код, что и текущий изолят.

spawnUri(Uri uri, List<String> args, message, { bool paused: false, SendPort onExit, SendPort onError, bool errorsAreFatal, bool checked, Map<String, String> environment, Uri packageRoot, Uri packageConfig, bool automaticPackageResolution: false }) → Future<Isolate>

Создает и запускает изолят, который выполняет код из библиотеки с указанным URI.

Конструкторы

Isolate(SendPort controlPort, { Capability pauseCapability, Capability terminateCapability })

Создает новый объект Isolate с ограниченным набором возможностей.

Свойства экземпляра

controlPort → SendPort
final

Порт управления, используемый для отправки управляющих сообщений в изолят.

errors → Stream
только для чтения

Возвращает поток необработанных ошибок из изолята.

pauseCapability → Capability
final

Возможность, предоставляющая возможность приостановить изолят.

terminateCapability → Capability
final

Возможность, предоставляющая возможность завершить изолят.

hashCode → int
только для чтения, унаследованное

Хеш-код этого объекта.

runtimeType → Type
только для чтения, унаследованное

Представление runtime-типа объекта.

Операторы

operator ==(other) → bool
унаследованное

Оператор равенства.

Методы экземпляра

addErrorListener(SendPort port) → void

Запрашивает, чтобы необработанные ошибки изолята отправлялись обратно в port.

addOnExitListener(SendPort responsePort, { Object response }) → void

Запрашивает сообщение о завершении responsePort при завершении изолята.

kill({int priority: BEFORE_NEXT_EVENT }) → void

Запрашивает изолят завершить работу.

pause([Capability resumeCapability ]) → Capability

Запрашивает изолят приостановить работу.

ping(SendPort responsePort, { Object response, int priority: IMMEDIATE }) → void

Запрашивает, чтобы изолят отправил response по responsePort.

removeErrorListener(SendPort port) → void

Останавливает прослушивание необработанных ошибок из изолята.

removeOnExitListener(SendPort responsePort) → void

Останавливает прослушивание сообщений о завершении из изолята.

resume(Capability resumeCapability) → void

Возобновляет приостановленный изолят.

setErrorsFatal(bool errorsAreFatal) → void

Устанавливает, будут ли необработанные ошибки завершать изолят.

noSuchMethod(Invocation invocation) → dynamic
унаследованное

Вызывается при обращении к несуществующему методу или свойству.

toString() → String
унаследованное

Возвращает строковое представление этого объекта.

© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-isolate/Isolate-class.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API