我對 Dart 很陌生,還在學習它。據我了解,Dart 在不同的隔離區執行代碼。一個隔離可以啟動另一個隔離來執行一些長時間運行的代碼。對于每個隔離,都有一個執行緒和一些記憶體分配給它。這些隔離就像一堆小虛擬機一樣被隔離。
我還從 Dart 檔案中了解到 Dart 是一種單執行緒語言。但是,想想看,每個隔離都有自己的執行緒。如果隔離 A 有執行緒 t1,而隔離 B 有執行緒 t2,那么 t1 和 t2 不是同一個執行緒,對吧?
如果 t1 和 t2 是同一個執行緒,那么 t1 和 t2 就不能同時執行代碼,這很可笑。所以,t1 和 t2 必須是不同的執行緒。
如果是這樣,為什么我們說 Dart 是單執行緒語言?
uj5u.com熱心網友回復:
是和不是。
“是”的意思是您不必擔心鎖或互斥鎖。
在您列出的意義上,“否”。
Dart 試圖通過隔離提供多執行緒的一些好處,同時避免共享記憶體多執行緒的所有問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/407594.html
標籤:
下一篇:多執行緒肯定能提高性能嗎
