Метод pause
- [Capability? resumeCapability]
Запрашивает приостановку изолированного процесса.
Когда изолированный процесс получает команду приостановки, он прекращает обработку событий из очереди цикла событий. Он может по-прежнему добавлять новые события в очередь, например, в ответ на таймеры или сообщения из порта приема. Когда изолированный процесс возобновляется, он начинает обрабатывать уже помещенные в очередь события.
Запрос на приостановку отправляется через порт команд изолированного процесса, минуя цикл событий принимающего изолированного процесса. Приостановка вступает в силу при получении, приостанавливая цикл событий на момент получения.
resumeCapability используется для идентификации приостановки, и его необходимо использовать повторно для завершения приостановки с помощью resume. Если resumeCapability опущен, вместо этого создается и используется новый объект возможности.
Если изолированный процесс приостанавливается более одного раза с использованием одной и той же возможности, для завершения приостановки требуется только одно возобновление с этой возможностью.
Если изолированный процесс приостанавливается с использованием более чем одной возможности, каждая приостановка должна быть индивидуально завершена перед возобновлением изолированного процесса.
Возвращает возможность, которую необходимо использовать для завершения приостановки. Это либо resumeCapability, либо новая возможность, если resumeCapability опущена.
Если pauseCapability null, или это не возможность приостановки изолированного процесса, идентифицированного по 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.18.5/dart-isolate/Isolate/pause.html