Size: a a a

Kotlin Community

2020 June 11

LS

Lev Shagalov in Kotlin Community
А что должен?)
источник

LS

Lev Shagalov in Kotlin Community
Ты мне сказал - кусок кода
источник

AN

Alexander Nozik in Kotlin Community
Lev Shagalov
Ты мне сказал - кусок кода
Ну вот да, я это понимаю, что это кусок исполняемого кода. Job - это ручка для контроля выполнения этого кода
источник

AN

Alexander Nozik in Kotlin Community
Но это мое восприятие
источник

S

Sergey in Kotlin Community
Гайз, подскажите по каким словам гуглить ,

нужно сделать возможность автообновление java приложения.
Есть небольшое приложение  запущенное через javaw(Launch4j), хочу чтоб он сам закачивал обновление и перезапускался.

так реально сделать?
источник

AN

Alexander Nozik in Kotlin Community
Sergey
Гайз, подскажите по каким словам гуглить ,

нужно сделать возможность автообновление java приложения.
Есть небольшое приложение  запущенное через javaw(Launch4j), хочу чтоб он сам закачивал обновление и перезапускался.

так реально сделать?
positron?
источник

AN

Alexander Nozik in Kotlin Community
или как его. Момент
источник

AN

Alexander Nozik in Kotlin Community
тьфу, graviton
источник

AN

Alexander Nozik in Kotlin Community
источник

AN

Alexander Nozik in Kotlin Community
Ну хоть пентакварком не назвали
источник

S

Sergey in Kotlin Community
Alexander Nozik
Ну хоть пентакварком не назвали
Спасибо! хорошего дня!!!
источник

AN

Alexander Nozik in Kotlin Community
Там еще есть варианты с селф-апдейтом. Но они поиском ищутся довольно просто.
источник

LS

Lev Shagalov in Kotlin Community
Я правильно понимаю:
1. Запуск withContext(this.coroutineContext){ ... } - это ничего не дает, выполнение кода без такой обертки абсолютно идентично выполнению с такой оберткой.
2. launch и async в случае работы в одном потоке запустят джоб не сразу, а вероятно после следующей точки остановки? А вот если диспатчер многопоточный - то launch и async запустятся сразу, параллельно (ну если будет свободный тред)
4. Если надо дождаться корутины launch/async - используем join/await соответственно. Эти методы идентичны по смыслу, просто второй вернет результат
4.1. join/await - блокируют исполнение кода (suspend) но не поток.
4.2. Если 4 верно, то зачем тогда launch-join? Был бы async-await, ну вернет он Unit и чего?
5. runBlocking {  launch {  }  } - заблокирует поток то тех пор, пока launch не завершится. Т.к. внешний скоуп будет ждать всех дочерних. То есть это можно использовать для записи например в базу. В случае когда надо записать но данные потом не потребуются, можно использовать launch понимаю что если он завершится с ошибкой, то внешний try ее словит. Типа fire and forget но выполнения все же дождется.
6. withContext суспендит код пока не выполнит тело в другом контексте (вероятно обычно это используется для смены потока, для shared mutable state наверно. А для чего еще кроме смены потока?)
источник

LS

Lev Shagalov in Kotlin Community
7. Контекст - это помесь map и set или чего там еще. Это некая коллекция объектов для работы корутины. Там лежит джоба, ссылка на диспетчер и вероятно что то еще (а что еще? Я не могу найти имплементации kotlin.coroutines.CoroutineContext.Element)
8. А вот зачем есть скоуп, если есть контекст (там ведь больше ничего нет) - я не очень понимаю. Может быть несколько скоупов могут ссылаться на один и тот же контекст (но джобы то не будут одинаковые)
источник

RE

Roman Elizarov in Kotlin Community
источник

RE

Roman Elizarov in Kotlin Community
Jobs vs Coroutines -> https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-job/
TL;DR: Every coroutine has a job, but jobs can exists without a coroutine, too.
источник

LS

Lev Shagalov in Kotlin Community
На середине становится вообще не понятно ((
источник

RE

Roman Elizarov in Kotlin Community
На какой середине?
источник

LS

Lev Shagalov in Kotlin Community
Roman Elizarov
На какой середине?
распишу чуть позже
источник

AN

Alexander Nozik in Kotlin Community
Lev Shagalov
На середине становится вообще не понятно ((
Ну надо бы остальные статьи тоже почитать, а еще лучше лекцию послушать. Я тебе скидывал вроде.
источник