Sobes.tech
Junior — Middle

Bir oqim ichida korutinlarning bajarilishini qanday usullar bilan o'zgartirish mumkin?

sobes.tech AI

AIdan javob

Kotlinda, korutinlar bir oqim ichida turli dispatcherlar va funksiyalar yordamida almashtirilishi mumkin:

  • withContext(Dispatchers.Main) — asosiy (UI) oqimga o'tish.
  • withContext(Dispatchers.Default) — CPU intensiv vazifalar uchun iplar havzasiga o'tish.
  • withContext(Dispatchers.IO) — kirish/chiqish operatsiyalari uchun iplar havzasiga o'tish.

Shuningdek, yield() yordamida hozirgi oqim ichida boshqa korutina bilan volontar tarzda nazoratni uzatish mumkin.

Kontekstni almashtirish misoli:

launch {
    // Asosiy oqimda ish
    withContext(Dispatchers.IO) {
        // Kirish/chiqish operatsiyasini bajarish
    }
    // Asosiy oqimga qaytish
}