Здравствуйте, alex_public, Вы писали:
_>Если ты реально считаешь, что Rust даёт гарантии отсутствия гонок, то у меня для тебя неприятные новости... Причём насчёт твоей квалификации в данной теме в целом.
Код в студию. Покажи, как без unsafe получить доступ к памяти без надлежащей синхронизации.
_>Ну и гарантии естественно есть. Разве что они рантаймовые — будет сообщение об ошибке, в случае попытки доступа не под мьютексом.
Вот тут давай объясняй, как питон это делает.
Звучит, как самолёты подлетают к границе и падают.
_>Какая ещё часть объекта? Понятно же, что под набором данных подразумевался не кусок какого-то объекта, а наоборот набор разных — на практике только так и встречается собственно. И для реализации автоматического доступа через мьютекс к этим данным, тебе придётся добавить лишний тип, агрегирующий в себя все эти объекты (а так же переписать везде код, чтобы доступ был только через экземпляр этого нового типа). Более того, с учётом специфики Rust'а, у тебя ещё возникнут сложности в случае неравного времени жизни (а это тоже очень даже вероятный сценарий) этих объектов.
Давай про свою практику рассказывай подробнее. Ибо в моей практике такое не встречалось вообще ни разу. Всегда разделяемые данные естественным образом оказывались в одном объекте.
Особенно интересует пример, в котором объекты под мьютексом живут разное время.
_>Ну открой код Rust'а и посмотри — просто контейнер, агрегирующий некий объект и возвращающий ссылку на него по функции Lock, в случае языков без RAII. А в случае наличия RAII в языке, будем возвращать специальный объект для автоматического отпускания мьютекса, точно так же, как и в Rust.
Да причем тут вообще RAII?
Я не понимаю, как ты работу с мьютексами организуешь. RAII это мелкие детали реализации.
Сначала я подумал, что ты предлагаешь засунуть мьютекс в объект и в каждом методе его захватывать. Так очень часто делают.
Можешь без юления объяснить, что ты делаешь?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>