Y
Hacker News
new
|
ask
|
show
|
jobs
by
edsrzf
4827 days ago
Dmitry Vyukov keeps a great resource for learning about lock-free algorithms (and other interesting things) here:
http://www.1024cores.net/home/lock-free-algorithms/introduct...
1 comments
dannywoodz
4827 days ago
Isn't the very first example in that article flawed?
void decrement_reference_counter(rc_base* obj) { if (0 == atomic_decrement(obj->rc)) delete obj; }
This is classic test-then-act, isn't it? What happens if another thread bumps obj->rc after the comparison to 0, but before the deletion? That other thread could find itself referring to a suddenly-deleted object, or am I missing something?
link