Size: a a a

Kotlin Community

2020 May 21

IK

Igor Komarov in Kotlin Community
Alexander Nozik
Отраженное событие в конец очереди встает?
Нет, копится буффер из подобных событий, и перед тем, как сделать следующую итерацию, закидывается в очередь так, что первым будет вытащено самое старое
источник

AN

Alexander Nozik in Kotlin Community
Igor Komarov
Нет, копится буффер из подобных событий, и перед тем, как сделать следующую итерацию, закидывается в очередь так, что первым будет вытащено самое старое
Ну в первом приближении вам надо заменить свою очередь на Channel, а ctx.execute на launch. и все. Но мне кажется, что можно изящнее
источник

IK

Igor Komarov in Kotlin Community
Channelы не умеют в приоритеты, к сожалению
источник

AN

Alexander Nozik in Kotlin Community
Igor Komarov
Channelы не умеют в приоритеты, к сожалению
А, тогда прямо из коробки никак. Приоритетного пока вроде ничего нет.
источник

IK

Igor Komarov in Kotlin Community
Эх. Грусть-пичаль тоска. Спасибо
источник

AN

Alexander Nozik in Kotlin Community
если моя информация не устарела.
источник

AN

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

IK

Igor Komarov in Kotlin Community
А в этом смысла не так много. Параллельно будет 4 потока в любом случае. Было бы можно сделать актор по типу akkaвского с fire and forget, было бы круто. Но, к сожалению, акторы из корутин несколько иной вид имеют...
источник

VP

Vladimir Petrakovich in Kotlin Community
Alexander Nozik
А, тогда прямо из коробки никак. Приоритетного пока вроде ничего нет.
Сортированная очередь + мьютекс по идее позволяют накидать нужное на коленке. И производительность наверняка будет достаточной
источник

Y

Yanis in Kotlin Community
можно ли как-то котлину сказать не использовать примитив для переменной?
источник

AN

Alexander Nozik in Kotlin Community
Vladimir Petrakovich
Сортированная очередь + мьютекс по идее позволяют накидать нужное на коленке. И производительность наверняка будет достаточной
да, но это будет та же priorityQueue + канал. Не понятно, чем проще
источник

AN

Alexander Nozik in Kotlin Community
Yanis
можно ли как-то котлину сказать не использовать примитив для переменной?
поставить вопросик. А зачем такое?
источник

VP

Vladimir Petrakovich in Kotlin Community
Yanis
можно ли как-то котлину сказать не использовать примитив для переменной?
Если речь про JVM, можно использовать типы-обёртки из java.lang
источник

Y

Yanis in Kotlin Community
Вопросик это костыль. Чтобы не было анбоксов
источник

VP

Vladimir Petrakovich in Kotlin Community
Alexander Nozik
да, но это будет та же priorityQueue + канал. Не понятно, чем проще
Так канал же вообще не подходит, там порядок не тот
источник

AN

Alexander Nozik in Kotlin Community
Yanis
Вопросик это костыль. Чтобы не было анбоксов
Так анбокс-то чем помешал.
источник

AN

Alexander Nozik in Kotlin Community
Vladimir Petrakovich
Так канал же вообще не подходит, там порядок не тот
если на вход в канал очередь стоит, то нормально. Но да, не понятно зачем.
источник

Y

Yanis in Kotlin Community
ну конечно, туда-сюда гоняет переменные
источник

AN

Alexander Nozik in Kotlin Community
Yanis
ну конечно, туда-сюда гоняет переменные
Туда-сюда никто гонять не будет. Если используется ссылка, то она и будет использоваться. Затраты уходят не на преобразование, а на доступ по ссылочному типу.
источник

AN

Alexander Nozik in Kotlin Community
Конкретно вытащить из кучи и поместить на стек стоит практически столько же, сколько просто вытащить из кучи. Так что мне кажется, это бессмысленное дело. Вот если можно избежать боксинга - это пользительно
источник