@kotlin_lang

Страница 655 из 982
Mayor
29.04.2018
19:01:32
Gleb
29.04.2018
19:01:46
Классы типов

Даже если бы умело, то в чем профит в их дополнительных абстракциях? Есть же корутины с минимальным перформанс оверхедом в языке.

Google
Mayor
29.04.2018
19:01:53
Ну не одним может, но не 1000

Да

Твой компьютер не может одновременно выполнять 1000 задач

Bogdan
29.04.2018
19:02:20
так мне кажетс пора срачь заканчивать

Mayor
29.04.2018
19:02:22
Это все равно будет поочередно

все равно в 1000 потоках будет внутри очередь

Igor
29.04.2018
19:02:50
Даниил
29.04.2018
19:03:25
Чувак, про ты reply слышал? (спрашивать в чем профит тайп-классов я пожалуй не буду)
действительно, зачем спрашивать про профит тайпклассов, это и ребёнку очевидно

про reply согласен

У тебя одновременно может быть запущенно 1000 потоков, но это только условно
никто не будет в здравом уме создавать 1000 системных потоков

Даниил
29.04.2018
19:04:33
для таких вещей и существуют тредпулы, чтобы распределять имеющиеся n потоков

Google
Vitaly
29.04.2018
19:05:56
ассинхронно = многопоточно
В каком смысле? https://ru.stackoverflow.com/questions/445768/Многопоточное-vs-асинхронное-программирование

Mayor
29.04.2018
19:06:28
та по идее и между двумя тредами может быть внутри очередь

ибо треды есть в других процессах

и если их будет достаточно много, то идеально ассинхронно 2 треда в твоей программе работать не будут

В каком смысле? https://ru.stackoverflow.com/questions/445768/Многопоточное-vs-асинхронное-программирование
Асинхронность (asynchrony) подразумевает, что операция может быть выполнена кем-то на стороне: удаленным веб-узлом, сервером или другим устройством за пределами текущего вычислительного устройства. Ага

Мерлин
29.04.2018
19:08:46
вот вроде слова по отдельности понятные, но вместе совершенная каша какие очереди какие треды в процессах что такое идеальная асинхронность почему два треда с чего вообще асинхронность — это многопоточность

Даниил
29.04.2018
19:09:55
я не об этом
не туда реплайнул

это было @mayor, не тебе в общем, сорян

Bogdan
29.04.2018
19:10:47
Mayor
29.04.2018
19:11:17
да много чо, но все же основное веб и иос

Bogdan
29.04.2018
19:11:32
все вопросы отпали

Mayor
29.04.2018
19:12:56
вот вроде слова по отдельности понятные, но вместе совершенная каша какие очереди какие треды в процессах что такое идеальная асинхронность почему два треда с чего вообще асинхронность — это многопоточность
смотри, ты создаешь 1000 потоков и в каждом наполняешь циклом массив на 100 элементов. У тебя везде будет массив наполнятся идеально одновременно?

и ты создаешь 2 таких потока

разница в одинаковости наполнения будет?

Google
Мерлин
29.04.2018
19:15:38
асинхронность — это прежде всего возможность прервать выполнение потока инструкций и переключится на другое место программы. Потом ещё возможность неблокирующего ввода вывода и прочая мишура многопоточность — это возможность исполнения одновременно больше одного потока команд это совершенно ортогональные понятия бывает асинхронность без многопоточности (node js, python+asyncio) бывает многопоточность без асинхронности (классический подход, особенно cpp) бывает набор набор асинхронно выполняемых задач поверх пула потоков (go, kt, rust+tokio и прочие современные языки)

а можно разложить синхронно исполняемые задачи поверх пула потоков (привет, GIL)

Mayor
29.04.2018
19:17:02
асинхронность — это прежде всего возможность прервать выполнение потока инструкций и переключится на другое место программы. Потом ещё возможность неблокирующего ввода вывода и прочая мишура

То есть по твоему именно это - основное в ассинхронности?

Bogdan
29.04.2018
19:17:34
а что по твойму?

может мы гения не заприметили

Мерлин
29.04.2018
19:17:48
более того, бывают терминальные случаи асинхронности, но с блокирующим io — корутины в lua

Mayor
29.04.2018
19:19:16
не оновное, а только это и есть
то есть по твоему, вся асинхронность - возможность прерывания работы, и возможность переключится на другое место в коде?

Mayor
29.04.2018
19:24:49
то есть многопоточность не дает возможности прерывания работы?

Мерлин
29.04.2018
19:25:21
разница в одинаковости наполнения будет?
зависит от кучи факторов от количества ядер процессора от алгоритма работы планировщика и аллокатора оси (например, work stealing тупо раскидает по ядрам все потоки, а есть вариант с жадным распределением) от особенностей рантайма (наличие GIL как минимум)

Мерлин
29.04.2018
19:27:26
то есть многопоточность не дает возможности прерывания работы?
в общем случае — нет но можно реализовать за счёт сторонних механизмов (дальше должна быть короткая лекция про семафоры, мьютексы и основы CSP)

Mayor
29.04.2018
19:27:52
смотря что ты имеешь ввиду под общим случаем, и почему именно это - общий случай

Google
Мерлин
29.04.2018
19:32:17
,
Это зависит от условий работы вычислительной системы В системах релаьного времени будут исполняться одновременно столько потоков, сколько есть свободных ядер В обычных — зависит от погоды на юпитере

Mayor
29.04.2018
19:32:50
шо

шл за обычные?

Мерлин
29.04.2018
19:34:21
шл за обычные?
большая часть ОСей которые нас окружают — не ОСи реального времени если поток прерывает исполнение, то это происходит на не гарантированный промежуток времени

Admin
ERROR: S client not available

Mayor
29.04.2018
19:35:02
прервывает на не гарантированный промежуток времени что?

Мерлин
29.04.2018
19:35:11
поток

Mayor
29.04.2018
19:35:15
илм прерывается на не гарантированном промежутке

Konstantine
29.04.2018
20:03:43
Такой вопрос. Я просто не могу в голове понять, может кто объяснит. Зачем нужно кому-то совмещать в приложении и RxJava (которая легко поддается многопоточности) и корутины? Вернее так, если у человека уже есть рх в приложении, зачем ему тянуть корутины?

Тимур
29.04.2018
20:17:05
на корутинах код проще если rx нужен только для того, чтобы организовывать асинхронность через коллбеки, то imho можно ее спокойно выкинуть и пользоваться корутинами

Quantum Harmonizer
29.04.2018
20:20:38
Rx нужен для того чтобы раскладывать цепочки событий и их обработку по потокам, ИМХО

Виталий
29.04.2018
20:46:10
Не подскажите как избавиться от #iterator() cannot be used nested. во вложеных циклах ? Если делаю for с индексами то начинает материться что не может кастануть. https://github.com/libgdx/libgdx/blob/master/gdx/src/com/badlogic/gdx/utils/ArrayMap.java https://github.com/libgdx/libgdx/blob/master/gdx/src/com/badlogic/gdx/utils/Array.java

в этом Array пробегаюсь по цикла ArrayMap классов приведенных выше

Тимур
29.04.2018
20:51:30
Rx нужен для того чтобы раскладывать цепочки событий и их обработку по потокам, ИМХО
Когда нужны именно события, тогда да. Но иногда события появляются не от хорошей жизни, а только потому, что надо как то организовать асинхронность. И корутины помогают "выпрямить" такой код. Вместо событийно ориентированного он превращается в простой последовательный, где уже нет никаких событий и обработчиков, а есть простая императивная пошаговая логика: сделали раз, сделали два, сделали три.

Тимур
29.04.2018
20:52:22
ну да, если он только для этого, то не нужен

Google
Блаженный
30.04.2018
01:04:01
Если в котлине есть корутины, то смысла в vertx.io нет?

Artem
30.04.2018
03:35:39
есть способ померять память занимаемую корутинами? есть suspend fun хочется замерить объем памяти, который выделяется при её вызове. Только через java.lang.Runtime.freeMemory?

Artem
30.04.2018
04:50:37
?

Boris
30.04.2018
06:09:53
есть способ померять память занимаемую корутинами? есть suspend fun хочется замерить объем памяти, который выделяется при её вызове. Только через java.lang.Runtime.freeMemory?
Из накладных расходов объект где хранятся локальные переменные для использования их после восстановления и поле для хранения позиции саспенда

Artem
30.04.2018
06:10:51
ок, примерно понял о чем речь

Quantum Harmonizer
30.04.2018
07:00:14
Создать корутины до наступления ООМ, измерить их количество.

Сравнить с количеством чего-то аналогичного.

Алексей
30.04.2018
11:45:35
Вставил код на java в IDE. IntelliJ IDEA перевела его в котлин. Но в импортах показано вот это



Как добавить JSON?

Gleb
30.04.2018
12:00:10
import JSON

Алексей
30.04.2018
12:01:09
все равно показано красным

)

Gleb
30.04.2018
12:02:17
https://mvnrepository.com/artifact/org.json/json/20180130

Anton
30.04.2018
12:14:42
спасибо
Есть доклад от Андрея Пангина по этой теме на Ютубе.

Страница 655 из 982