Size: a a a

Kotlin Community

2019 December 26

AN

Alexander Nozik in Kotlin Community
Сейчас плагин находится в стадии миграции и что-то не до конца работает. В течение месяца будет 1.3.70, там будет лучше докумнтация и полностью живой тулинг должен быть.
источник

BV

Boris Vanin in Kotlin Community
Не могу найти, можно ссылочку? Или это который 15 года?
источник

QH

Quantum Harmonizer in Kotlin Community
Boris Vanin
Не могу найти, можно ссылочку? Или это который 15 года?
🤷‍♂️ я не помню, может, и он
источник

IP

I Prvz 🌚 in Kotlin Community
Приветствую. Подскажите, правильно ли я понимаю, что если запускаю 3 относительно долго выполняющихся suspend функции последовательно, относительно друг друга они будут выполняться параллельно?
fun tst() =
   runBlocking {
       val res1 = suspendFun1()
       val res2 = suspendFun2()
       val res3 = suspendFun3()
   }
источник

QH

Quantum Harmonizer in Kotlin Community
I Prvz 🌚
Приветствую. Подскажите, правильно ли я понимаю, что если запускаю 3 относительно долго выполняющихся suspend функции последовательно, относительно друг друга они будут выполняться параллельно?
fun tst() =
   runBlocking {
       val res1 = suspendFun1()
       val res2 = suspendFun2()
       val res3 = suspendFun3()
   }
Нет.
источник

IP

I Prvz 🌚 in Kotlin Community
Ок. А как тогда это должно выглядеть?
источник

BV

Boris Vanin in Kotlin Community
I Prvz 🌚
Ок. А как тогда это должно выглядеть?
Вы уверены, что вам именно саспенд-функции нужны?
источник

BV

Boris Vanin in Kotlin Community
Может просто в экзекютор задачи закинуть?
источник

КР

Кирилл Романенко in Kotlin Community
I Prvz 🌚
Приветствую. Подскажите, правильно ли я понимаю, что если запускаю 3 относительно долго выполняющихся suspend функции последовательно, относительно друг друга они будут выполняться параллельно?
fun tst() =
   runBlocking {
       val res1 = suspendFun1()
       val res2 = suspendFun2()
       val res3 = suspendFun3()
   }
suspend функции выполняются последовательно. Только во время ожидания вместо блокировки используется приостановка. Если нужна асинхронность, то смотри в сторону async.
источник

IP

I Prvz 🌚 in Kotlin Community
Boris Vanin
Может просто в экзекютор задачи закинуть?
Зря в примере не дописал. Функции должны что-то вернуть, а рулить через completableFuture не хочется, ибо не оч нравится
источник

BV

Boris Vanin in Kotlin Community
Если хочется именно саспендить, то асинк
источник

IP

I Prvz 🌚 in Kotlin Community
Boris Vanin
Если хочется именно саспендить, то асинк
как-то так? val res1 = async { fun1() }.await()
источник

BV

Boris Vanin in Kotlin Community
Он возвращается сразу и позволяет засаспендиться до получения значения
источник

BV

Boris Vanin in Kotlin Community
I Prvz 🌚
как-то так? val res1 = async { fun1() }.await()
Ну, это сразу засаспендится
источник

IP

I Prvz 🌚 in Kotlin Community
Boris Vanin
Ну, это сразу засаспендится
т.е. как-то так должно выглядеть?
fun tst() =
   runBlocking {

       val res1 = async { fun1() }
       
       val res2 = async { fun2() }
       
       val res3 = async { fun3() }

       println(listOf(res1, res2, res3).awaitAll())
   }
источник

BV

Boris Vanin in Kotlin Community
Это наверное лучше в @kotlin_start обсудить, очень уже базовые вещи
источник

BV

Boris Vanin in Kotlin Community
I Prvz 🌚
т.е. как-то так должно выглядеть?
fun tst() =
   runBlocking {

       val res1 = async { fun1() }
       
       val res2 = async { fun2() }
       
       val res3 = async { fun3() }

       println(listOf(res1, res2, res3).awaitAll())
   }
Вроде того, да
источник

IP

I Prvz 🌚 in Kotlin Community
Boris Vanin
Вроде того, да
благодарю
источник

AM

Andrew Mikhaylov in Kotlin Community
источник

OY

Oleg Yukhnevich in Kotlin Community
Кстати, никто не замечал такого странного поведения компаньёнов
не нашёл issue быстрым поиском, может кто видел
источник