Size: a a a

Kotlin Community

2020 June 28

LS

Lev Shagalov in Kotlin Community
Ну, внутренности очевидно разнятся. Ну вот с точки зрения понимания и использования - помоему это ну очень похожие вещи.
источник

LS

Lev Shagalov in Kotlin Community
Я как понял, единственно отличие для клиентского кода это то, что тело sequence не в CoroutineScope и нельзя просто так воткнуть suspend функцию. Больше я ничего особого не заметил.
источник

LS

Lev Shagalov in Kotlin Community
Собственно все остальные правила работы так же идентичны. Ну, вероятно, за исключением смены контекста (это надо поботать)
источник

BP

Bogdan Panchenko in Kotlin Community
Lev Shagalov
Ну, внутренности очевидно разнятся. Ну вот с точки зрения понимания и использования - помоему это ну очень похожие вещи.
да очень похожи, но на сиквенс всегда "последователен"\выполняется в одном потоке, с флов могу быть варианты
источник

QH

Quantum Harmonizer in Kotlin Community
Flow надо было называть SuspendIterator, но отдел маркетинга бы не пропустил)
источник

LS

Lev Shagalov in Kotlin Community
Bogdan Panchenko
да очень похожи, но на сиквенс всегда "последователен"\выполняется в одном потоке, с флов могу быть варианты
Ну, это уже плюшки. Важные конечно, но все же плюшки.
источник

BP

Bogdan Panchenko in Kotlin Community
Lev Shagalov
Собственно все остальные правила работы так же идентичны. Ну, вероятно, за исключением смены контекста (это надо поботать)
с колекциями тоже все индентично но разница ведь есть)
источник

AN

Alexander Nozik in Kotlin Community
Bogdan Panchenko
да очень похожи, но на сиквенс всегда "последователен"\выполняется в одном потоке, с флов могу быть варианты
Лучше при разговоре про кортуины избегать слов "поток". Люди очень путаются. Flow как правило в одном потоке выполняется
источник

LS

Lev Shagalov in Kotlin Community
Я просто ищу зацепки чтобы внутренне понять эти абстракции
источник

LS

Lev Shagalov in Kotlin Community
Ну ок... и если это похоже на сиквенс или коллекцию, то мне не понятно как сделать его "горячим" в плане запихивания в него сообщений а-ля канал.
источник

BP

Bogdan Panchenko in Kotlin Community
Quantum Harmonizer
Flow надо было называть SuspendIterator, но отдел маркетинга бы не пропустил)
а Sequence назвать Iterator
источник

QH

Quantum Harmonizer in Kotlin Community
Bogdan Panchenko
а Sequence назвать Iterator
IterableOnce
источник

AL

Anton Lakotka in Kotlin Community
Lev Shagalov
Ну ок... и если это похоже на сиквенс или коллекцию, то мне не понятно как сделать его "горячим" в плане запихивания в него сообщений а-ля канал.
а вот запихивают уже в каналы. или буфферы.
т.е. эмиттер в цикле считывает канал и тем самым создает flow, на который уже можно вешать различные операторы
источник

BP

Bogdan Panchenko in Kotlin Community
Quantum Harmonizer
IterableOnce
тогда и флов нужно в SuspendIterable
источник

QH

Quantum Harmonizer in Kotlin Community
Bogdan Panchenko
тогда и флов нужно в SuspendIterable
а у него ещё есть отдельный метод suspendIterator(): SuspendIterator<T>?)
источник

LS

Lev Shagalov in Kotlin Community
Anton Lakotka
а вот запихивают уже в каналы. или буфферы.
т.е. эмиттер в цикле считывает канал и тем самым создает flow, на который уже можно вешать различные операторы
Чистый флоу сделать горячим нельзя никак. Только добавив к нему еще что то?
источник

AN

Alexander Nozik in Kotlin Community
Lev Shagalov
Чистый флоу сделать горячим нельзя никак. Только добавив к нему еще что то?
Flow это интерфейс.
источник

AN

Alexander Nozik in Kotlin Community
Он может быть и горячим и холодным. Но стремятся к тому, чтобы был холодный
источник

BP

Bogdan Panchenko in Kotlin Community
Quantum Harmonizer
а у него ещё есть отдельный метод suspendIterator(): SuspendIterator<T>?)
нет, но называть их по разному - не консистентно
источник

QH

Quantum Harmonizer in Kotlin Community
Bogdan Panchenko
нет, но называть их по разному - не консистентно
эээ, разное поведение — разные названия.
Сиквенс — это итерабл, флоу — итератор.
источник