Size: a a a

2021 May 28

BP

Bogdan Panchenko in Kotlin Start
а ну это ты про верисю котлина. версия корутин != версия котлина
источник

BP

Bogdan Panchenko in Kotlin Start
там вот как раз 1.6 вышел
источник

З

Захар in Kotlin Start
та хотрелоад все равно не работает
источник

BP

Bogdan Panchenko in Kotlin Start
ну так репортить нужно, но я вижу кривой путь вроде.

а что там в Application 24 ?
источник

З

Захар in Kotlin Start
импорт файла
я убрал хотрелоад и выключеил devmode
теперь ругается что не может найти файл мой(логично, ведь я структуру менял)
источник

BP

Bogdan Panchenko in Kotlin Start
н у так может кеши мешают
источник

З

Захар in Kotlin Start
исправил все пути, без devmoda ошибок нет
как только включаю, то выскакивает как на скрине выше
источник

З

Захар in Kotlin Start
ай это я глупый в watch указал модуль, а не название проекта
источник

ВО

Виктор Орехов... in Kotlin Start
Друзья, можете помочь мне разъясниться с модификатором suspend. Слушаю уже несколько докладов Элизарова и Розова и оба они говорят, что при долгом вызове та самая саспенд-функция останавливается (саспендится) и дает другим потокам выполнять работу, отдавая им ресурсы. Как опркделяется эта остановка в случае "задержки", ведь, по факту, оно все равно работает, просто настолько долго, что мы вынесли функцию в другой поток (ИО с диска все равно считывается, отправка/скачивание картинки в интернет, математические операции)

Буду очень благодарен
источник

MV

Matvei Vdovitsyn in Kotlin Start
Да, но в этих операциях бутылочным горлышком является не наш код, а какое-то внешнее устройство, с которым мы работаем, например, апи Гугла. Представьте, мы отправляем запрос на сервер и ждём секунду прежде чем продолжить, если бы мы наплодили кучу потоков этим занимающихся, то переключение их контекстов бы заняло значительную часть процессорного времени, а корутина в свою очередь даже и не думает про реальный контекст потока, продолжая работу только после какого-то условия
источник

MV

Matvei Vdovitsyn in Kotlin Start
Советую почитать https://medium.com/@esocogmbh/coroutines-in-pure-java-65661a379c85 мне помогло понять, как они работают
источник

BP

Bogdan Panchenko in Kotlin Start
данный модификатор говорит что вы может приостановиться выполнения функции, но только в специальных местах - в suspend вызовах, то-есть при вызове других suspend fun
источник

BP

Bogdan Panchenko in Kotlin Start
если вы будет делать IO операцию в данной функции вы конечно же заблокируете поток
источник

ВО

Виктор Орехов... in Kotlin Start
Делл в том, что я не понимаю как определяется, что поток заблокирован. Чем это вызвано?
источник

BP

Bogdan Panchenko in Kotlin Start
IO операцией.
источник

ВО

Виктор Орехов... in Kotlin Start
То есть если я делаю математические операции, тт могу быть уверен, что функция никогда не засапендится?
источник

BP

Bogdan Panchenko in Kotlin Start
если в мат операциях нет вызова саспенд функции - да не будет саспенда. только в местах вызова саспенда функция может заснуть. Например delay() - уснет, Thread.sleap() - заблокирует
источник

ВО

Виктор Орехов... in Kotlin Start
Вот теперь мне понятнее
источник

BP

Bogdan Panchenko in Kotlin Start
тоже самое касается отмены
источник
2021 May 30

🦁🐻

🦁 🐻 in Kotlin Start
Можете помочь с функцией

fun main() {
  println("x=$x")
  println(SignX(x))
}
 var x:Int=(-10..10).random()
 fun SignX(x:Int):Int{
     if(x<0) return -1
     else if(x==0) return 0
    else if(x>1) return 1
 }
источник