美文网首页
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