Sobes.tech
Junior — Middle

Оё метавонед шарҳ диҳед, ки дар мафҳуми 'Dispatchers' чӣ маъно дорад ва онҳо чӣ гуна истифода мешаванд?

sobes.tech AI

Ҷавоб аз AI

Дар Kotlin Coroutines, Dispatchers — обекти, ки муайян мекунанд, ки дар кадом сӯроҳ ё пуле аз сӯроҳҳо корутин иҷро мешавад.

Типҳои асосии dispatcher-ҳо:

  • Dispatchers.Main — барои кор бо сӯроҳи UI (масалан, дар Android).
  • Dispatchers.IO — барои амалиётҳои воридотӣ-баромадӣ, монанди хондани файлҳо ё дархостҳои шабакавӣ.
  • Dispatchers.Default — барои вазифаҳои шадиди CPU.
  • Dispatchers.Unconfined — корутинро дар сӯроҳи ҳозира оғоз мекунад, аммо метавонад гузарад.

Истифода:

GlobalScope.launch(Dispatchers.IO) {
    // дар пуле аз сӯроҳҳо барои IO иҷро мешавад
    val data = fetchData()
    withContext(Dispatchers.Main) {
        // навсозии UI
        updateUI(data)
    }
}

Бинобар ин, dispatcher-ҳо кӯмак мекунанд, ки сӯроҳҳоро самаранок идора кунанд ва UI-ро банд накунанд.