在扑动的开发中,DART执行任务的原理就像Android中的处理程序一样,也是由事件驱动的。如图所示,当执行主方法时,生成事件循环时间周期。通过事件循环在程序中执行的所有任务不断从时间队列中获取事件消息。事件消息包括Micro -Task队列Microtask和事件队列事件Queue。其中,MicroTask的优先级高于事件队列,这意味着每次执行事件循环时,它将检查事件队列中是否存在MicroTask任务。执行,直到MicroTask任务为队列中不再存在,因此您可以基于此功能在程序中进行事件,以在程序中进行事件。
使用代码验证。上一篇文章介绍了使用接收港来在分离株中进行通信。在这里,接收港的侦听监视代码属于事件队列任务。通过未来。Microtask方法,可以创建一个微型任务队列。如控制台所示,当事件循环中的微型箱存在时,它肯定会执行它,而不是按顺序编写的顺序执行。
根据以上的基础,如果微任务增加了时间 - 令人费解的操作,则随后的任务将等待执行微任务。在以下代码中,在第一个Micro -taskonly中进行执行。因此,使用MicroTask插入高优先级任务时,您需要注意不要执行高 - 时间操作,这也是单线模型的特征。