Size: a a a

Kotlin Community

2020 June 28

AH

Ayrat Hudaygulov in Kotlin Community
Alexander Nozik
а где вы в акке видели корутины? И что там есть такого, что нет уже сейчас coroutines-core? Ну кроме удаленного выполнения - которое по сути совсем отдельная фича
лайфтайм, супервайзинг, приорити очереди, перситентность, скалирование пулов акторов и многие другие вещи!
источник

AN

Alexander Nozik in Kotlin Community
Ayrat Hudaygulov
лайфтайм, супервайзинг, приорити очереди, перситентность, скалирование пулов акторов и многие другие вещи!
Ну так тогда надо брать эту либу и все.
источник

RK

Roman Khlebnov in Kotlin Community
Alexander Nozik
а где вы в акке видели корутины? И что там есть такого, что нет уже сейчас coroutines-core? Ну кроме удаленного выполнения - которое по сути совсем отдельная фича
Если мне не изменяет память, акторы изначально позиционировались как тру ООП многопоточка, мол, есть объект, у него какое то поведение, он как-то сам по себе реагирует на события
источник

RK

Roman Khlebnov in Kotlin Community
Тут есть корутины, которые на мой взгляд прекрасно дополняют логику акторов и не замещают её.
источник

AN

Alexander Nozik in Kotlin Community
Roman Khlebnov
Если мне не изменяет память, акторы изначально позиционировались как тру ООП многопоточка, мол, есть объект, у него какое то поведение, он как-то сам по себе реагирует на события
Вы случаем не путайте асинхронные вычисления и многопоточность?
источник

RK

Roman Khlebnov in Kotlin Community
Возможно
источник

AH

Ayrat Hudaygulov in Kotlin Community
Roman Khlebnov
Я просто не особо понимаю как акторы вяжутся в текущую модель фич. Вот есть Акка, мне в принципе ничего не мешает взять её и там юзать корутины внутри акторов, по идее, зачем пилить свои?
можно сделать примитив мини-актора - очередь с обработчиком. В F# такой есть, называется MailboxProcessor или agent
Очень простой и удобный примитив когда надо синхронизировать доступ к стейту
источник

AH

Ayrat Hudaygulov in Kotlin Community
а всю акку ради такого тащить перебор конечно
источник

AN

Alexander Nozik in Kotlin Community
Ayrat Hudaygulov
можно сделать примитив мини-актора - очередь с обработчиком. В F# такой есть, называется MailboxProcessor или agent
Очень простой и удобный примитив когда надо синхронизировать доступ к стейту
так это уже есть и давно.
источник

AN

Alexander Nozik in Kotlin Community
Ayrat Hudaygulov
можно сделать примитив мини-актора - очередь с обработчиком. В F# такой есть, называется MailboxProcessor или agent
Очень простой и удобный примитив когда надо синхронизировать доступ к стейту
источник

AH

Ayrat Hudaygulov in Kotlin Community
не знал, но да, супер что такое есть
источник

AN

Alexander Nozik in Kotlin Community
Оно будет переделано, смотреть тут: https://github.com/Kotlin/kotlinx.coroutines/issues/87, но это не первый приоритет
источник

LS

Lev Shagalov in Kotlin Community
ведь правильно понимаю, что актор это просто корутина плюс канал? Просто сразу парой создаются
источник

AN

Alexander Nozik in Kotlin Community
Lev Shagalov
Как в акторах использовать флоу?
https://pl.kotl.in/TfX4kRK9t
Например чтобы сделать debounce
Я все-таки отвечу, а то мы в сторону ушли, у тебя есть для канала конвертер consumeAsFlow, а для flow есть produceIn
источник

VP

Vladimir Petrakovich in Kotlin Community
Не понимаю, кстати, зачем делать то, что есть сейчас, obsolete
источник

VP

Vladimir Petrakovich in Kotlin Community
Lev Shagalov
ведь правильно понимаю, что актор это просто корутина плюс канал? Просто сразу парой создаются
Да, и тесно связаны
источник

AN

Alexander Nozik in Kotlin Community
Vladimir Petrakovich
Не понимаю, кстати, зачем делать то, что есть сейчас, obsolete
Ну по-видимому думали, что быстро заменят, а оно зависло
источник

LS

Lev Shagalov in Kotlin Community
Alexander Nozik
Я все-таки отвечу, а то мы в сторону ушли, у тебя есть для канала конвертер consumeAsFlow, а для flow есть produceIn
https://pl.kotl.in/5ZybuLu5W

А что за produceIn не поняль
источник

AN

Alexander Nozik in Kotlin Community
Lev Shagalov
https://pl.kotl.in/5ZybuLu5W

А что за produceIn не поняль
источник

AM

Andrew Mikhaylov in Kotlin Community
Vladimir Petrakovich
Не понимаю, кстати, зачем делать то, что есть сейчас, obsolete
Для того, чтобы висящие вне structured concurrency штуки были явно помечены как устаревшая апишка. По-моему, всё ок.
источник