Dart中的异步编程(Future、scheduleMicrotask)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dart中的异步编程(Future、scheduleMicrotask)相关的知识,希望对你有一定的参考价值。

参考技术A Dart是一门单线程的语言,Dart对异步操作对支持,可以使我们在编写Dart程序时可以异步的来执行耗时操作。这里的异步和多线程不是一个概念,在Dart中,异步但没有多线程,仍然是单线程。

在Dart中,实际上有两种队列:

在每一次事件循环中,Dart总是先去第一个microtask queue中查询是否有可执行的任务,如果没有,才会处理后续的event queue的流程。

异步任务我们用的最多的还是优先级更低的 event queue。Dart为 event queue 的任务建立提供了一层封装,就是我们在Dart中经常用到的Future。

正常情况下,一个 Future 异步任务的执行是相对简单的:

以上是关于Dart中的异步编程(Future、scheduleMicrotask)的主要内容,如果未能解决你的问题,请参考以下文章

Dart异步编程--Future

异步编程之 Future

异步编程之 Future

异步编程之 Streams

Flutter 的异步机制Future

▲Dart-‘dart:async’库