Isolate
Dart 中的线程概念是 Isolate
, 一个在操作系统 Thread
只上的封装, 默认 Dart 程序会在一个 Isolate
中顺序执行代码.
Isolate
中的代码是按顺序执行- 任何
Dart
程序的并发都是运行多个Isolate
的结果 - 因为
Isolate
之间不会共享内存,没有竞争的可能性所以不需要锁,也就不用担心死锁的问题 Isolate
之间不能直接通信, 可以通过 DartVM 提供的 SendPort 通道通信
DartVM 运行模式
- 单线程执行: 一个 Isolate 拥有一个事件循环
- 一个事件循环和两个队列
![]() |
|
Question
1 | import 'dart:async'; |
结果是? (运行试试吧)
本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!