Как Kotlin Диспетчеры работают без функции приостановки - PullRequest
1 голос
/ 07 апреля 2020

Я новичок в сопрограммах kotlin, где мне нужно знать, как работает диспетчер сопрограмм kotlin в конкретном c случае
Например,

suspend fun executeDBTransaction(){
   withContext(Dispatchers.IO){
      executeTransactions()
  }
} 

fun executeTransactions(){
  transaction.beginTransaction()
   executeUpdateQuery() // non suspend function
   executeDeleteQuery()// non suspend function
   executeInsertQuery()// non suspend function
  transaction.successful()
}

Что мне нужно из приведенного выше примера известно, что

будут ли все запросы, которые я выполняю в методе executeTransactions, выполняться в одном потоке или нет?

Если мой executeUpdateQuery выполняется в потоке IO-1 и executeDeleteQuery в потоке IO-2, то это приводит к неудачной транзакции.
Может ли кто-нибудь помочь мне с этим?

...