170 похожих чатов

Привет. Подскажите, где почитать про лок-фри бестпрактисес? Сейчас конкретно интересует правильное

оформление cas-loop, а именно, что делать в случае неудачи (ведь нет смысла пробовать кас еще раз сразу):

while (!cas()) {
// usleep(250); /// видел такое
// for i=0 i < n; i++ noop(); // и такое видел
}


Но выглядит это не убедительно

10 ответов

15 просмотров

В случае кас в лок фри обычно до победного и пробуют

Dmitry- Автор вопроса
Denis P
В случае кас в лок фри обычно до победного и пробу...

Это понятно. Лучший перф показывается, если до следующей попытки сколько-то подождать

Лучшая бест практис - не писать спинлок (по крайней мере, в юзерспейсе) Но если уж приспичило, то вот: https://arxiv.org/abs/1305.5800

Dmitry- Автор вопроса
Denis P
А в лок фри есть ещё какие то варианты?

Нет, поэтому и польза очень часто сомнительна (опять же, в юзерспейсе)

Sergey Skvortsov
Нет, поэтому и польза очень часто сомнительна (опя...

Это да, надо конечно это профилировать все

Dmitry
Это понятно. Лучший перф показывается, если до сле...

Для твоего кейса может быть лучше как с ожиданием так и без

Похожие вопросы

Обсуждают сегодня

Типа вызывать GetParent и проверять на соответствие GetModuleHandle?
The Bird of Hermes
67
Do any of you guys have interesting projects one could join? I'm a Middle Full-Stack developer (JS/TS, React & Node)
Lev Shapiro
40
$res = json_decode($наша строка из респонса); $res1 = array_map(fn($o) => $o->name, $res->breadcrumbs[0]->entities); Как такое будет на Хаскеле?.. В начале весь джейсон, в ко...
Хаскель Моисеевич Гопник
27
В чем сила брат, в NASM или FASM?
Isaac Kleiner
18
Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
11
А чем вам питонисты не угодили?😂
.
79
Хтось використовував Vapor на Windows?
Jaroshevskii
15
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
Тут кста кто-нибудь NeoVim использует?
Simple Sorcerer
13
Какое виндузовое сообщение приходит TTabSheet, что риэлайняться контролы на нем, даже у которых парент другой? Ситуация: открываю форму - кнопок нет, перелистываю на другой т...
Катерина Свиридова
7
Карта сайта