Sobes.tech
Junior — Middle

Kādiem veidiem var pārslēgt korutinu izpildi vienā pavedienā?

sobes.tech AI

Atbilde no AI

Kotlin korutīnas var pārslēgt vienā pavedienā, izmantojot dažādus dispatcherus un funkcijas:

  • withContext(Dispatchers.Main) — pārslēgšanās uz galveno (UI) pavedienu.
  • withContext(Dispatchers.Default) — pārslēgšanās uz pavedienu baseinu CPU intensīvām uzdevumiem.
  • withContext(Dispatchers.IO) — pārslēgšanās uz pavedienu baseinu I/O operācijām.

Turklāt, var izmantot yield(), lai brīvprātīgi nodotu kontroli citai korutīnai tajā pašā pavedienā.

Konteksta pārslēgšanas piemērs:

launch {
    // Darbs galvenajā pavedienā
    withContext(Dispatchers.IO) {
        // Veikt I/O operāciju
    }
    // Atgriezties galvenajā pavedienā
}