Back to questions
X5 Digital
Junior — Middle
68
Какими методами можно менять диспетчер выполнения корутин в Kotlin?
Companies where asked
Answer from AI
sobes.tech AI
В Kotlin для изменения диспетчера выполнения корутин можно использовать несколько способов:
- Передача диспетчера при запуске корутины
import kotlinx.coroutines.*
GlobalScope.launch(Dispatchers.IO) {
// Код выполняется в IO-диспетчере
}
- Использование функции
withContextдля переключения диспетчера внутри корутины
suspend fun loadData() {
withContext(Dispatchers.Default) {
// Выполнение на другом диспетчере
}
}
- Создание собственного диспетчера с помощью
newSingleThreadContextилиnewFixedThreadPoolContext
val myDispatcher = newSingleThreadContext("MyThread")
GlobalScope.launch(myDispatcher) {
// Выполняется в собственном потоке
}
Таким образом, диспетчер можно менять при запуске корутины или внутри неё с помощью withContext.