Sobes.tech
Back to questions
Junior — Middle
68

Какими методами можно менять диспетчер выполнения корутин в Kotlin?

Companies where asked
X5 DigitalX5 Digital

Answer from AI

sobes.tech AI

В Kotlin для изменения диспетчера выполнения корутин можно использовать несколько способов:

  1. Передача диспетчера при запуске корутины
import kotlinx.coroutines.*

GlobalScope.launch(Dispatchers.IO) {
    // Код выполняется в IO-диспетчере
}
  1. Использование функции withContext для переключения диспетчера внутри корутины
suspend fun loadData() {
    withContext(Dispatchers.Default) {
        // Выполнение на другом диспетчере
    }
}
  1. Создание собственного диспетчера с помощью newSingleThreadContext или newFixedThreadPoolContext
val myDispatcher = newSingleThreadContext("MyThread")

GlobalScope.launch(myDispatcher) {
    // Выполняется в собственном потоке
}

Таким образом, диспетчер можно менять при запуске корутины или внутри неё с помощью withContext.