~/talk

How threads help each other

Talkat Voxxed Days Minsk 2018 · on Saturday, 2018-05-26· [concurrency, software-architecture]
links:none on file
slides:none on file

Explains the 1996 Michael‑Scott queue implementation used in C++ and Java, the actual node layout and the two-pointer update (head and tail) sequence, and why it works: threads use compare-and-swap (CAS) on atomic references and threads help each other by fixing a partially-updated tail so the queue recovers instead of deadlocking. Demonstrates lock‑free progress (not wait‑free), the retry storm when many producers contend, and that the helper trick keeps correctness while avoiding global locks.

AI-written summary · about

  1. 0:00Introduction
  2. 3:29Non-blocking synchronization
  3. 10:55Memory models and shared memory
  4. 21:51Lock problems and critical sections
  5. 26:28Atomic operations and CAS
  6. 34:22Lock-free stack
  7. 39:19Michael-Scott queue
  8. 47:35Locks vs lock-free
  9. 50:00Queue modifications and use
  10. 52:45Performance and recommendations
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.