Size: a a a

2021 July 13

NK

Nikolay Kononov in supapro.cxx
ну, спинлок != локфри
источник

 P

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

DP

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

NK

Nikolay Kononov in supapro.cxx
ну не использует...
источник

NK

Nikolay Kononov in supapro.cxx
если бы использовало было бы не локфри
источник

SS

Sergey Skvortsov in supapro.cxx
static переменная в функции имеет нужную семантику инициализации
Можно прикрутить поверх простого кода, который удалять будет вовремя
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
та не, там не подойдёт static ))
источник

DP

Denis Paukaev in supapro.cxx
Не понятно как одно другому мешает
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
из-за этого и делаю таким образом
источник

АК

Александр Караев... in supapro.cxx
Кажется, тебе надо, чтобы она утекла? static T* value = new T;
источник

SS

Sergey Skvortsov in supapro.cxx
Можно даже вернуть что-то вроде shared_ptr, и освободить ресурс руками
источник

DP

Denis Paukaev in supapro.cxx
а точно такое нужно?)
источник

DP

Denis Paukaev in supapro.cxx
выглядит странновато
источник

DP

Denis Paukaev in supapro.cxx
auto create() {
 static shared_ptr<> res = []{
   // ...
 }();
 return res;
}

чем что-то такое не нравится, например)
источник

SS

Sergey Skvortsov in supapro.cxx
А несколько раз объект можно создать? Насколько инициализация долгая?
Если ответы "нет, долгая", то лучше мьютекса вряд ли придумать
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
нельзя несколько
источник

NK

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

D

Danya in supapro.cxx
Ботать олимпиады конечно, если это интересно
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
Не, мне нужно, чтобы не закрывало само ресурсы - то есть еси не вызвали release(), то утечка вместо UB.
Но если юзер закрыл сам, то всё норм.
Видимо mutex лучший вариант
источник

DP

Denis Paukaev in supapro.cxx
ещё раз, спинлок вообще не должен никакой прогресс гарантировать, это примитив синхронизации
источник