當前位置:聚美館>智慧生活>心理>

dart|是單線程還是多線程

心理 閱讀(1.95W)
dart 是單線程還是多線程

Dart是單線程模型。 很多進階語言,比如Java, C++以及Objective-C等都是支援併發線程,也就是多線程的,也就是採用搶佔式方式切換線程,如果涉及到共享資源, 更新線程間搶佔後就可能導致數據不同步的問題。

多線程解決此類問題就是加鎖保護資源, 但又可能帶來性能損耗,嚴重的可能導致死鎖問題。

而Dart採用單線程模式就不是導致資源競爭和狀態同步問題。

Dart中沒有線程,只有lsolate(隔離區)。lsolate之間不會共享內存,就像單獨執行在不同進程中的worker, 透過事件循環(Event Looper)在事件隊列(Event Queue)上傳遞消息通信。