Size: a a a

2021 July 13

 P

 ‌‌Gleb Pilipets... in supapro.cxx
ну да.
Просто если с атомарной переменной, то этого сделать не выйдет, так как через mutex ещё и ожидается создание объекта через new.
источник

DP

Denis Paukaev in supapro.cxx
что больше нравится то и делай, но язык какой-то в любом случае желательно освоить
источник

DP

Denis Paukaev in supapro.cxx
для олимпиад и ml к слову это будет скорее всего С++, а для ml ещё и питон желательно
источник

DP

Denis Paukaev in supapro.cxx
ну да, не выйдет, разве что делать спинлок
источник

DP

Denis Paukaev in supapro.cxx
оставь мьютекс просто если тебе нужны гарантии такие, и всё
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
Понял, просто было интересно, возможно ли атомарно создать объект без mutex
источник

NK

Nikolay Kononov in supapro.cxx
атомарно создать объект нельзя, обычно это достигается атомарным указателем, сначала делаешь new в одном потоке потом делаешь атомарное присвоение своего локального указателя в какой-то атомарный
источник

NK

Nikolay Kononov in supapro.cxx
но тут наверное так нельзя, хотя погугли про lock free reference counting сто процентов кто-то что-то придумал
источник

DP

Denis Paukaev in supapro.cxx
через спинлок
источник

NK

Nikolay Kononov in supapro.cxx
это не "атомарно"
источник

NK

Nikolay Kononov in supapro.cxx
вообще интуитивно под "атомарно" как я понимаю он имеет ввиду локфри
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
та mutex оставлю уже
источник

DP

Denis Paukaev in supapro.cxx
да с чего бы
источник

DP

Denis Paukaev in supapro.cxx
у вас лок фри реализуется на CAS в цикле, которые тот же спин лок фактически
источник

NK

Nikolay Kononov in supapro.cxx
нет не тот же
источник

NK

Nikolay Kononov in supapro.cxx
совсем
источник

NK

Nikolay Kononov in supapro.cxx
кас цикл когда не удается это значит что другой поток что-то делает и есть общая гарантия, спинлок вообще такого не говорит
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
хотя ладно, видимо правильно сказать не атомарно - мне нужно, чтобы в многопоточной среде после вызова init() объект был сконструирован.
источник

DP

Denis Paukaev in supapro.cxx
какая разница кто что делает? Циклическая проверка блокировки это спин лок
источник

SS

Sergey Skvortsov in supapro.cxx
А удалять объект когда надо?
источник