РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
704 of 723 menu

Метод send

Метод send класса SendPort отправляет сообщение в изолят, связанный с данным портом. В первый параметр мы передаем сообщение, которое хотим отправить. Сообщение может быть любого типа: число, строка, список, карта, а также другие объекты, которые можно передать между изолятами. Сообщение будет доставлено в изолят, который владеет соответствующим ReceivePort.

Синтаксис

sendPort.send(message)

Пример

Давайте отправим простое строковое сообщение в изолят через SendPort и получим его в главном изоляте:

import 'dart:isolate'; void main() async { ReceivePort receivePort = ReceivePort(); await Isolate.spawn(isolateFunction, receivePort.sendPort); receivePort.listen((message) { print(message); receivePort.close(); }); } void isolateFunction(SendPort sendPort) { sendPort.send('abcde'); }

Результат выполнения кода:

"abcde"

Пример

Давайте отправим список чисел из изолята в главный изолят:

import 'dart:isolate'; void main() async { ReceivePort receivePort = ReceivePort(); await Isolate.spawn(isolateFunction, receivePort.sendPort); receivePort.listen((message) { print(message); receivePort.close(); }); } void isolateFunction(SendPort sendPort) { sendPort.send([1, 2, 3, 4, 5]); }

Результат выполнения кода:

[1, 2, 3, 4, 5]

Смотрите также

  • класс SendPort,
    который представляет порт для отправки сообщений
  • класс ReceivePort,
    который принимает сообщения от изолятов
  • метод spawn,
    который создает новый изолят
  • класс Isolate,
    который представляет изолят
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить