-
LLとSC、それぞれアトミック操作できる
- 個別のメモリにマーキングできるハードウェア的仕掛けがある
- その領域に対して他スレッドが操作をすると、マーキングが揮発する
-
marking(target, current_thread_id); return *target } function store_conditional(*target, *desired) -> bool { if (!is_marked(target, current_id)) { return false; } *target = desired; return true; }
-
偽陰性がありうる