Flutter从0基础到App上线
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

5.4 Dart的isolates运行模式

在前面的小节中,我们了解了异步处理,并提及了一个叫作多线程的词。实际上,在Dart中,代码是在isolates中运行的,并不是传统意义上的线程,只是和线程有类似的地方。它们之间的区别在于:isolates是隔离的,每个isolates都有自己的内存,都是单线程,而传统意义上的线程之间是共享内存的。

这样做的一个好处就是:可以规避多线程共享数据导致的潜在问题,无须考虑死锁的情况。因此,异步处理其实本质上是用到了Dart中的isolates运行模式,多个isolates并发。因此,这让isolates看起来和传统的线程很相似,使用也很相似,但是其内部的实现原理和背后的运行机制却千差万别。

本书对有关isolates的运行模式不做过多讲解,你可以自行深入研究。