В kotlinx.coroutinesбиблиотеке вы можете запустить новую сопрограмму, используя launch(с join) или async(с await). В чем разница между
В kotlinx.coroutinesбиблиотеке вы можете запустить новую сопрограмму, используя launch(с join) или async(с await). В чем разница между
Я читаю Kotlin Coroutine и знаю, что он основан на suspendфункции. Но что suspendзначит? Coroutine или функция приостанавливается? С https://kotlinlang.org/docs/reference/coroutines.html По сути, сопрограммы - это вычисления, которые можно приостановить, не блокируя поток. Я слышал, как люди часто...
Могут ли сопрограммы Kotlin использоваться в производственной среде и что означает их экспериментальный статус?
В настоящее время я пытаюсь использовать котлин сопрограммы больше. Но я сталкиваюсь с проблемой: при использовании moshi или okhttp внутри этих сопрограмм я получаю предупреждение: «неподходящий вызов метода блокировки» Каков наилучший способ исправить это? Я действительно не хочу быть неуместным...
У меня есть несколько вопросов о Kotlin Flow Я могу наблюдать LiveData из нескольких фрагментов. Могу ли я сделать это с Flow? Если да, то как? Мы можем иметь несколько LiveData из одной LiveData, используя map& switchMap. Есть ли способ иметь несколько потоков из одного источника потока?...
Обновление: это работает, если я сначала выполняю сопрограмму без таймаута, а затем с Тайм-аутом. Но если я сначала выполню сопрограмму с Timeout, то это выдаст мне ошибку. То же самое относится и к Async. Я создаю демонстрационное мультиплатформенное приложение kotlin, в котором я выполняю вызов...
Предоставляют ли сопрограммы Kotlin какие-либо гарантии «произойдет раньше»? Например, существует ли гарантия «происходит до» между записью в mutableVarи последующим чтением (потенциально) в другом потоке в этом случае: suspend fun doSomething() { var mutableVar = 0 withContext(Dispatchers.IO) {...
В прошлых операциях ввода-вывода Google Хосе Альсеррека и Йигит Бояр сказали нам, что мы больше не должны использовать LiveData для получения данных. Теперь мы должны использовать функции приостановки для однократных выборок и использовать поток Котлина для создания потока данных. Я согласен, что...