Junior — Middle
Чӣ гуна усулҳо метавонанд барои гузариш кардани иҷрои корутинҳо дар дохили як сӯрохи истифода шаванд?
sobes.tech AI
Ҷавоб аз AI
Дар Kotlin, корутинҳоро дар дохили як ҷараён бо ёрии dispatcher ва функсияҳои гуногун мегузаронанд:
- withContext(Dispatchers.Main) — гузаштан ба ҷараёни асосӣ (UI).
- withContext(Dispatchers.Default) — гузаштан ба пули ҷараёнҳо барои вазифаҳои шадиди CPU.
- withContext(Dispatchers.IO) — гузаштан ба пули ҷараёнҳо барои амалиётҳои воридотӣ/баромадӣ.
Илова бар ин, метавон yield()-ро истифода бурд, ки барои гузаронидани иҷборӣ назорат ба корутинҳои дигар дар дохили ҳамин ҷараён.
Маслиҳат барои иваз кардани контекст:
launch {
// Кор дар ҷараёни асосӣ
withContext(Dispatchers.IO) {
// иҷрои амалиёти воридотӣ/баромадӣ
}
// Бозгашт ба ҷараёни асосӣ
}