Junior — Middle
როგორ განსხვავდება Main dispatcher და Default dispatcher Kotlin- ში coroutine-ების გამოყენებისას?
sobes.tech AI
პასუხი AI-სგან
Kotlin-၌ dispatcher များ (ပေးပို့သူများ) သည် coroutine ကို မည်သည့် thread သို့မဟုတ် thread pool တွင် လုပ်ဆောင်မည်ကို သတ်မှတ်ပေးသည်။
-
Main dispatcher — ၎င်းသည် main (UI) thread တွင် coroutine များကို စတင်စေသော dispatcher ဖြစ်သည်။ UI ကို အပ်ဒိတ်လုပ်ခြင်းနှင့် UI elements များနှင့် အပြန်အလှန်လုပ်ဆောင်ရန် အသုံးပြုသည်၊ ဤနေရာတွင် မူလ thread တွင် လုပ်ဆောင်ရန် လိုအပ်သည်။
-
Default dispatcher — ၎င်းသည် default dispatcher ဖြစ်ပြီး CPU-အာရုံစိုက်သော အလုပ်များအတွက် အကောင်းဆုံးအောင် ပြုလုပ်ထားသော thread pool ကို အသုံးပြုသည်။ မူလ thread ကို မပိတ်ဘဲ၊ နောက်ခံတွက်ချက်မှုများအတွက် သင့်တော်သည်။
ဥပမာ:
// မူလ thread တွင် coroutine ကို စတင်ခြင်း
CoroutineScope(Dispatchers.Main).launch {
// UI ကို အပ်ဒိတ်လုပ်ခြင်း
}
// နောက်ခံအလုပ်များအတွက် coroutine ကို စတင်ခြင်း
CoroutineScope(Dispatchers.Default).launch {
// မကြာခဏတွက်ချက်မှုများ
}
အကျဉ်းချုပ်အားဖြင့်၊ Main dispatcher — UI thread အတွက်၊ Default — နောက်ခံ CPU အာရုံစိုက်သော အလုပ်များအတွက်။