Вопросы по теме 'kotlin-coroutines'
Разница между потоком и сопрограммой в Котлине
Есть ли какая-то конкретная языковая реализация в Kotlin, которая отличает ее от реализации сопрограмм на других языках?
Что означает, что сопрограмма похожа на легкий поток?
В чем разница?
На самом ли деле корутины kotlin работают...
20351 просмотров
schedule
17.04.2022
Что делает закрытие канала kotlinx.coroutines
Что делает закрытие канала kotlinx.coroutines с помощью channel.close() и каков будет негативный эффект, если каналы не будут закрыты вручную? Если я не закрою канал вручную, будет ли какая-то ненужная обработка? Будет ли где-нибудь ссылка на канал,...
3696 просмотров
schedule
12.06.2023
Как повторить попытку экспоненциального отката на сопрограммах kotlin
Я использую сопрограммы kotlin для сетевого запроса с использованием метода расширения для вызова класса в модификации, подобной этой
public suspend fun <T : Any> Call<T>.await(): T {
return suspendCancellableCoroutine {...
14220 просмотров
schedule
21.05.2022
Вызов функции приостановки Kotlin в классе Java
Предположим, у нас есть следующая функция приостановки:
suspend fun doSomething(): List<MyClass> { ... }
Если я хочу вызвать эту функцию в одном из моих существующих классов Java (который я пока не могу преобразовать в Kotlin) и...
19976 просмотров
schedule
01.10.2022
Подходит ли модель Kotlin Structured Concurrency [сопрограммы] для пользовательского интерфейса для записи в БД?
Меня особенно беспокоит вставка данных, инициированных пользователем, в локальную базу данных.
Следующий шаблон преобладает в примерах (в том числе из официальных источников, например, JetBrains, Google / Android) для использования сопрограмм...
199 просмотров
schedule
02.02.2023
Является ли delay () в Kotlin Coroutine неблокирующей функцией?
Комментарий в примере кода говорит, что delay () не блокирует. Должен ли он быть приостановлен?
https://kotlinlang.org/docs/reference/coroutines/basics.html
fun main() {
GlobalScope.launch { // launch new coroutine in background and...
2118 просмотров
schedule
18.08.2023
Как сделать данные, привязанные к запросу, глобально доступными в Ktor?
Строю микросервис в Кторе. Пока мы работаем в модуле приложения, Ktor предоставляет доступ к объекту call , который содержит данные авторизации.
Моя проблема в том, что мне нужно получить доступ к объекту call из класса уровня обслуживания. В...
337 просмотров
schedule
21.02.2024
Почему имя потока меняется после объединения всех заданий в области сопрограммы?
У меня есть код, который сбивает меня с толку. почему, если я использую CoroutineScope (Dispatchers.IO) .launch в runBlocking и проверяю его с помощью println (). Каждый раз, когда я проверяю это
println("01 Runblocking Scope Before join() =>...
220 просмотров
schedule
14.03.2024
Диспетчер сопрограмм Kotlin, как по умолчанию, но без основного (пользовательского) потока
Есть ли способ создать (или получить каким-либо образом) диспетчер сопрограмм Kotlin на Android, который действует как Default, но исключает касание ядер потоков пользовательского интерфейса?
Итак, в основном, я сталкиваюсь с тяжелыми...
884 просмотров
schedule
07.02.2022
Существуют ли операторы asyncAll и / или awaitAll для сопрограмм Kotlin?
У меня есть коллекция, и я хочу выполнить некоторые операции со всеми ее элементами асинхронно в Kotlin.
Я легко могу сделать это с помощью двух операций с картой:
suspend fun collectionAsync() = coroutineScope {
val list = listOf("one",...
1773 просмотров
schedule
14.10.2022
Принуждение приостановленной функции к работе в одном потоке для сопоставления объектов Realm в фоновом режиме
Скажем, мне периодически (каждые 3 секунды) нужно читать список некоторых RealmObject , и я хочу сопоставить эти объекты с простыми объектами данных, которые будут использоваться для заполнения содержимого списков.
Для тех, кто задается вопросом,...
475 просмотров
schedule
29.03.2024
Асинхронное построение производителя
У меня есть случай, когда я хочу построить ReceiveChannel , используя produce , асинхронно, но он зависает. Вот упрощенный пример:
runBlocking {
val deferredChannel = async {
produce<String> { send("foo") }
}
val...
59 просмотров
schedule
02.11.2023
Не удалось выполнить тест всех классов сопрограмм
Я тестировал свой класс докладчика и всю тестовую работу. Но когда я попытался запустить свой тестовый класс, все тесты сопрограмм не прошли.
Я пытаюсь сбросить отправку и очистить прицел.
частный диспетчер val = TestCoroutineDispatcher ()...
92 просмотров
schedule
15.03.2022
Корутина withContext больше не доступна и не читается, перестает работать без причины
Я использую компоненты архитектуры и комнату, но я не думаю, что это происходит оттуда. Я использую сопрограммы для вставки и извлечения данных из базы данных. Все работало нормально, пока я не столкнулся с этой проблемой
Эта последняя проблема...
328 просмотров
schedule
06.11.2022
Приостановить асинхронную подфункцию kotlin coroutine
У меня есть асинхронный CoroutineScope , в котором может быть (по условию) вызов подфункции, которая возвращает свой результат в асинхронном Unit
Как я могу дождаться возвращенного результата и вернуть его вне асинхронного Unit . Поэтому...
166 просмотров
schedule
28.08.2023
Значение этого кода приостановить веселье get(url: String) = withContext(Dispatchers.IO){/**/}
Я новичок в разработке для Android. Когда я читал средний пост https://medium.com/androiddevelopers/coroutines-on-android-part-i-getting-the-background-3e0e54d20bb Я наткнулся на этот код:
suspend fun get(url: String) =...
154 просмотров
schedule
06.07.2023
Co Routines получают местоположение из фона
Я отправляю данные о местоположении с помощью подпрограмм в workmanager. Я пробовал просто использовать workmanager, но он не выполняет асинхронную работу. Я пробовал ListenableWorkmanager, но это было слишком сложно для меня, поэтому я пытаюсь...
438 просмотров
schedule
22.08.2023
Обобщенная функция, позволяющая избежать повторяемости
Я хочу иметь обобщенную функцию для моего метода репозитория, которая выполняет вызов API. Вот код -
RemoteInterface.java
interface RemoteInterface {
@GET("...")
suspend fun getRandomImage(): MyModel
@GET(".../{id}/...")...
81 просмотров
schedule
12.12.2022
liveData с сопрограммами и SavedStateHandle
Этот ответ показывает нам, как мы можем использовать liveData в репозиторий, чтобы вернуть LiveData в ViewModel , который будет наблюдать View . А что, если мы хотим использовать SavedStateHandle ? Как мы можем преобразовать следующий код...
963 просмотров
schedule
05.08.2022
Котлин - сопрограммы работают не так, как ожидалось
Этот вопрос связан с одним из моих предыдущих вопросов: Котлин - сопрограммы с циклами .
Итак, это моя текущая реализация:
fun propagate() = runBlocking {
logger.info("Propagating objectives...")
val variablesWithSetObjectives:...
46 просмотров
schedule
17.12.2023