您可以多次运行Isolate.spawn吗?

时间:2020-05-15 00:32:59

标签: dart dart-isolates

这是我用来学习隔离的简单代码,我生成了两次,但是第二个生成没有显示任何内容,这里有任何错误吗?谢谢

import 'dart:isolate';
Future<void> main() async {
  print('start');
  await Isolate.spawn(echo, 'Dart');
  await Isolate.spawn(echo, 'Flutter'); // why this 2nd spawn not showing up?
  print('end');
}

void echo(msg) {
  print(msg);
}

1 个答案:

答案 0 :(得分:0)

您的程序在隔离完成之前退出。您可以确认是否添加

await Future.delayed(Duration(seconds: 1));

程序结束时的某个地方。

设置Isolate往往很困难,包括所有SendPort等。