Size: a a a

2020 July 23

M(

MIT/Yardanico (alt) in ru.nim.talks
gavr
Хм, а в ниме просто uint? А когда многопоток будет что делать?
А что многопоток?
источник

g

gavr in ru.nim.talks
В vala к слову тоже атомарный, но там это связано с GObject и есть способ юзать через owned unowned
источник

g

gavr in ru.nim.talks
Ну зачем в ARC обычно делают счетчик атомарным, шоб не было гонок всяких
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
Shared heap с ARC, но не атомарный
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
gavr
Ну зачем в ARC обычно делают счетчик атомарным, шоб не было гонок всяких
Вместо этого делают перемещение данных
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
Там rfc
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
Если данные "изолированные", их можно без копирования между потоками пересылать
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
И да, в Nim у ARC тоже есть слабая ссылка
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
{.cursor.}
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
Но небезопасно
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
Если неправильно использовать - можно краши получить
источник

g

gavr in ru.nim.talks
есть слабые сильные ссылки, а есть владеющие невладеющие
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
Для этого есть другое
источник

g

gavr in ru.nim.talks
Я чего то по поводу того как в nim решается проблема многопоточности с ARC, по rfc гуглится Request for Comments
источник

g

gavr in ru.nim.talks
так и не понял
источник

g

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

g

gavr in ru.nim.talks
А вот копирование ссылки на объект, который допустим в двух тредах
источник

g

gavr in ru.nim.talks
выходит из скоупа в разное время
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
Ну полностью это не решается, и не говорилось, что будет решаться
источник

M(

MIT/Yardanico (alt) in ru.nim.talks
Lock'и все равно нужны где-то если ты изменяешь из нескольких потоков
источник