Size: a a a

2021 June 30

МВ

Макс Воробьев... in dlang.ru
а как отличишь, шаред или вик сейчас здох?
источник

МВ

Макс Воробьев... in dlang.ru
т е есть условно 2 шаред и 2 вик на один ресурс
источник

Е

Евгений in dlang.ru
Да ты прав. Никак
источник

Е

Евгений in dlang.ru
Поэтому видимо
Я к слову делал всегда двумя счетчиками, если мне нужен был weak_ptr
источник

Е

Евгений in dlang.ru
В D чем хорошо, что есть модификатор shared, что позволяет включать atomicOp только если владение, пардон, совместное владение нужно будет передать в другой поток.
источник

Е

Евгений in dlang.ru
Хотя можно просто новый тип ввести, RC/SharedRC, но мне больше нравится RC/shared RC
источник

МВ

Макс Воробьев... in dlang.ru
и плохо, что он работает даже под мьютексом
источник

Е

Евгений in dlang.ru
Эм. Не понял.
источник

Е

Евгений in dlang.ru
Мютекс не нужен для счетчика ссылок.
источник

МВ

Макс Воробьев... in dlang.ru
где-то кидал пример, когда нельзя модифицировать list в shared объекте даже не смотря на то, что list используется исключительно synhronised секции
источник

Е

Евгений in dlang.ru
Эм. Можно на словах почему нельзя, если все сделано грамотно?
источник

Е

Евгений in dlang.ru
Тут два пути, либо оборачивать в synchronized ВСЕ операции со списком. Либо делать его иммутабельным, в частности односвязным.
источник

МВ

Макс Воробьев... in dlang.ru
https://t.me/dlangru/207688 обсуждали)
источник

МВ

Макс Воробьев... in dlang.ru
тут я скорее за swift, где по дефолту есть только shared/weak
источник

МВ

Макс Воробьев... in dlang.ru
для замороченных еще unowned
источник

Е

Евгений in dlang.ru
Так там речь именно о dlist хз как он там сделан.
А так написать правильный shared список вполне реально.
источник

Е

Евгений in dlang.ru
а shared RC удобен для спокойной раздачи потокам всяких immutable объектов.
источник

EP

Egor Pugin in dlang.ru
из студийной стл
источник

Е

Евгений in dlang.ru
Да-да. Мысль про возможность обойтись одним счетчиком пришла мне в голову в сегодняшнем диалоге и она была ошибочной. Как там сделано в студии без разницы.
источник

МВ

Макс Воробьев... in dlang.ru
ну да. вместо того, что-бы использовать std dlist, просто под мьютексом, нужно сделать точно такой-же dlist, но другой
источник