Flutter之异步操作async原理、Future本质

本文深入探讨Dart的单线程模型和事件循环机制,重点解析Future在Flutter中的作用以及async和await关键字的使用,帮助理解Flutter中的异步操作和事件处理流程。
摘要由CSDN通过智能技术生成

目录

Dart单线程语言

event loop工作原理

Future 

async  &await

参考资料: 


​​​​​​​

  • Dart单线程语言

Dart 是单线程执行模型,但是它支持 Isolate(一种让 Dart 代码运行在其他线程的方式)、事件循环和异步编程。除非你自己创建一个 Isolate ,否则你的 Dart 代码永远运行在 UI 线程,并由 event loop 驱动。Flutter 的 event loop 和 iOS 中的 main loop 相似——Looper 是附加在主线程上的。

  • event loop工作原理

event loop循环机制是和event queue 、 microtask queue 这两个队列一起工作的。工作流程可以形象为上飞机排2个队的过程。microtask queue为VIP队列,event queue 为普通队列。VIP队列先上飞机,队列里面都上完了,再上普通队列,当普通队列上完一个人了,再去看看VIP队列否有人,如果有,VIP先上。如此往复循环。最后如果普通队列没人了,就可以关飞机门(exit)了。

    <
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值