Spec-Zone.ru › Dart 2

dart:isolate

метод pause

Capability pause(
  1. [Capability? resumeCapability]
)

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

Получив команду приостановки, изолят прекращает обработку событий из очереди цикла событий. При этом он всё ещё может добавлять новые события в очередь в ответ, например, на таймеры или сообщения порта приёма. После возобновления работы изолят начинает обрабатывать уже поставленные в очередь события.

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

Для идентификации приостановки используется resumeCapability, который необходимо снова использовать для её завершения с помощью resume. Если resumeCapability не указан, вместо него создаётся и используется новый объект capability.

Если изолят приостанавливается более одного раза с использованием одной и той же capability, для завершения приостановки достаточно одного вызова возобновления с этой capability.

Если изолят приостановлен с использованием нескольких capability, каждую приостановку необходимо завершить отдельно, прежде чем изолят возобновит работу.

Возвращает capability, которую необходимо использовать для завершения приостановки. Это либо resumeCapability, либо новая capability, если resumeCapability не указан.

Если pauseCapability имеет значение null или не является capability приостановки изолята, указанного в controlPort, принимающий изолят игнорирует запрос на приостановку.

Реализация

Capability pause([Capability? resumeCapability]) {
  resumeCapability ??= Capability();
  _pause(resumeCapability);
  return resumeCapability;
}

© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-isolate/Isolate/pause.html

Spec-Zone.ru

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