Jus*_*ner 3 multithreading dart dart-isolates
我对 Dart 很陌生,仍在学习中。据我了解,Dart 在不同的隔离区中执行代码。一个隔离可以启动另一个隔离来执行一些长时间运行的代码。对于每个隔离,都有一个线程和为其分配一些内存。这些隔离体就像一群小虚拟机一样被隔离。
我还从 Dart 文档中了解到 Dart 是一种单线程语言。但是,想一想,每个隔离都有自己的线程。如果isolate A有线程t1,isolate B有线程t2,那么t1和t2就不是同一个线程,对吗?
如果t1和t2是同一个线程,那么t1和t2就不能同时执行代码,这是可笑的。所以,t1和t2必须是不同的线程。
如果是这样,为什么我们说 Dart 是单线程语言呢?
是和不是。
“是”是指您不必担心锁或互斥体。
从你列出的意义上说“不”。
Dart 试图通过隔离提供多线程的一些好处,同时避免共享内存多线程的所有问题。
| 归档时间: |
|
| 查看次数: |
790 次 |
| 最近记录: |