美文网首页
flutter thread

flutter thread

作者: f8d1cf28626a | 来源:发表于2022-11-29 10:02 被阅读0次

Isolate 使用

Future testIsolate() async {

  ReceivePort receivePort = ReceivePort();

  Isolate isolate = await Isolate.spawn(_test1Isolate,receivePort.sendPort);

  var message = receivePort.listen((message){

    print('message : $message');
    // 最后才执行
     receivePort.close();
    isolate.kill();
  });
  print('4');
  return message;
}

/// 使用
void main(List<String> arguments) async {
  int count = 0;
  StreamSubscription message = await demo_1.testIsolate();

  scheduleMicrotask(() {
    message.onData((data) {
      count = data;
      print('Hello world: $data');
    });
  });
 await Future((){
    print('Hello world: 1 $count');
  });

  print('Hello world: 2 $count');
}

注意:需要手动kill

compute 使用

Future testCompute() async {

  late int count;

  count = await compute(_test1Compute(),111);

  return count;
}

注意:不需要手动kill

相关文章

网友评论

      本文标题:flutter thread

      本文链接:https://www.haomeiwen.com/subject/mrhdfdtx.html