簡體   English   中英

Kotlin 協程中的 Dispatchers.Main 和 Dispatchers.Default 有什么區別?

[英]What is the difference between Dispatchers.Main and Dispatchers.Default in Kotlin coroutines?

Kotlin 協程中的 Dispatchers.Main 和 Dispatchers.Default 有什么區別?

我使用viewModelScope.launch {}並按預期在 UI 線程上執行啟動塊。 然后我發現它默認為viewModelScope.launch(Dispatchers.Default) {}

這讓我有點困惑,因為我認為我應該使用Dispatchers.Main在 UI 線程上執行操作。

到目前為止,Android Dispatchers.Default默認為Dispatchers.Main 那正確嗎?

如果我使用一種或另一種或者它們可以互換,是否有任何缺點? 如果它們在 Android 上可以互換,如果將來我會添加對 kotlin 多平台的支持,是否會影響某些事情?

然后我發現它默認為 viewModelScope.launch(Dispatchers.Default) {}。

不, viewModelScope.launch()默認為Dispatchers.Main Google 覆蓋了普通的默認launch()調度程序,即Dispatchers.Default 我建議始終指定調度程序,而不是讓人們猜測在哪種情況下使用哪個調度程序。

那正確嗎?

不,對不起。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM