Size: a a a

2018 December 30

oo

opqx opqx in ru.nim.talks
https://nim-lang.org/docs/channels.html
4-я стока.
Note: Channels cannot be passed between threads. Use globals or pass them by ptr.
источник

M

Max in ru.nim.talks
Вопросы был не в этом, как я понял
источник

АО

Александр Остапенко in ru.nim.talks
да, я намастерил уже, заработало
источник

АО

Александр Остапенко in ru.nim.talks
до конца механизма так и не понял
источник

АО

Александр Остапенко in ru.nim.talks
я джавист, и почему то у меня возникла ассоциация что channel типо абстрактного класса, если можно сравнивать
источник

АО

Александр Остапенко in ru.nim.talks
когда пытался просто испльзовать channel, не работало, а такое "type Something[T] = ptr Channel[T]", и потом работать с Something как с channel  из доков на сайте
источник

АО

Александр Остапенко in ru.nim.talks
Если кто в курсе подскажите философию channel
источник

АО

Александр Остапенко in ru.nim.talks
opqx opqx
https://nim-lang.org/docs/channels.html
4-я стока.
Note: Channels cannot be passed between threads. Use globals or pass them by ptr.
да, получается я по этой строчке сделал, но механизма как это работает так и не понял
источник

АО

Александр Остапенко in ru.nim.talks
не, с абстрактным классном нельзя срвнивать, механизмы ваще другие же
источник

oo

opqx opqx in ru.nim.talks
Честно говоря не понял тогда в чем вопрос. Как передавать данные между потоками или зачему нужны каналы ?
источник

АО

Александр Остапенко in ru.nim.talks
opqx opqx
Честно говоря не понял тогда в чем вопрос. Как передавать данные между потоками или зачему нужны каналы ?
сначала как передавать данные между потоками. Теперь разобрался как, но не понял механизма канала. В интернете много статеек типо в ниме дурацкий механизм многопоточности, типо если передавать поинтеры то сборщик мусора их почистит, в итоге я так и не понял природу каналов в ниме. Хотя бы общую модель, если у разных потоков разная память и в каждой работает сборщик, то как устроен канал ?
источник

АО

Александр Остапенко in ru.nim.talks
Или типо там поинтер канала обозначается специальной меткой и сборщик не убирает память канала. Я заметил что везде где использовали канал потом деаллоцировали память в ручную.
источник

АО

Александр Остапенко in ru.nim.talks
и сам я сделал ручное
источник

oo

opqx opqx in ru.nim.talks
Вот уж не даешь мне ютуб спокойно посмотреть )))
источник

oo

opqx opqx in ru.nim.talks
Может я чего-то не вхехал, но мы про каналы котороые есть для межпроцесного взаимодействия, верно ?
источник

YG

Yuriy Glukhov in ru.nim.talks
передеча ГЦ данных через канал делает deep copy. pointer/ptr - это не ГЦ. поэтому они "копируются" так же как и инты, к примеру.
источник

YG

Yuriy Glukhov in ru.nim.talks
иными словами, если граф объектов небольшой, обмен не интенсивный - юзаем каналы, гц, и ни о чем не паримся. иначе - юзаем ручное управление паматью и указатели.
источник

АО

Александр Остапенко in ru.nim.talks
opqx opqx
Может я чего-то не вхехал, но мы про каналы котороые есть для межпроцесного взаимодействия, верно ?
наверно межпоточного
источник

АО

Александр Остапенко in ru.nim.talks
Yuriy Glukhov
передеча ГЦ данных через канал делает deep copy. pointer/ptr - это не ГЦ. поэтому они "копируются" так же как и инты, к примеру.
ГЦ данные это что ?
источник

АО

Александр Остапенко in ru.nim.talks
Yuriy Glukhov
иными словами, если граф объектов небольшой, обмен не интенсивный - юзаем каналы, гц, и ни о чем не паримся. иначе - юзаем ручное управление паматью и указатели.
Как определить большой или не большой ?
источник