Разве наложение приостанавливаемых функций не снижает производительность?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Разве наложение приостанавливаемых функций не снижает производительность?

Сообщение Anonymous »

Углубляясь в разработку Android/Kotlin, я узнал, что ключевое слово suspend преобразует функцию в конечный автомат, который можно удалить из исполняемого потока, приостановить и возобновить в какой-то момент в будущем. либо тем же потоком, либо другим.
На мой взгляд, конечный автомат приводит к некоторым накладным расходам в коде и времени выполнения. Что, конечно, необходимо и на самом деле не является проблемой.
Однако в некотором существующем коде, который я изучаю, я обнаружил, что некоторая функция suspend вызывает другие функции, которые приостанавливают< /code>, как здесь:

Код: Выделить всё

Coroutine:
override suspend fun doWork() :  { calls A::methodA }
class A { suspend fun methodA() :  { calls B::methodB }
class B { suspend fun methodB() :  { performs some network I/O }
Если я прав, это приведет к созданию трех приостанавливаемыхконечных автоматов. Не лучше ли использовать ключевое слово suspend только в реализации корутины doWork()? Или я потеряю некоторую гибкость потоков (в чем я сомневаюсь)?

Подробнее здесь: https://stackoverflow.com/questions/790 ... nce-killer
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Добавление пакетной нормализации снижает производительность.
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Mongodb deleteManyAsync() снижает производительность
    Anonymous » » в форуме C#
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Как отобразить наложение на наложение над диалоговым окном Android SAF (Framework) в Flutter?
    Anonymous » » в форуме Android
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Функция Google Cloud снижает скорость загрузки (Gen 2 Cloud Run)
    Anonymous » » в форуме Python
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • Запуск приложения с Qt6.7 в Android снижает функциональность QList
    Anonymous » » в форуме Android
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»