~/talk

Live Lock-Free or Deadlock (Practical Lock-free Programming)

Talkat CppCon 2015 · 2015-09-21..09-25· [concurrency]
links:none on file
slides:none on file

Shows how to build a practical lock‑free producer/consumer system using compare‑and‑swap and atomic exchange, then measures when it actually wins versus a spin‑locked STL queue. Demonstrates a working design: an array of atomic pointers to single‑thread subqueues with atomic-exchange ownership, explains when enqueue can fail and how to recover, and reports that generic lock‑free queues often lose to simpler locked or hybrid approaches unless application assumptions reduce shared state.

AI-written summary · about

  1. 0:00Introduction to lock-free queues
  2. 1:52Race conditions in lock-free queues
  3. 3:40Compare-and-swap atomic primitive
  4. 8:08Producer-consumer problem
  5. 12:25Lock-free vs lock-based programs
  6. 15:18Deadlocks and live locks
  7. 20:12Atomic operations vs locks
  8. 24:10Application vs library programming
  9. 29:11Consumer problem solution
  10. 31:42Performance limits of concurrency
  11. 37:42Data sharing overhead
  12. 40:32Shared variables in lock-free
  13. 42:44Thread-safe queue requirements
  14. 46:03Ordering guarantees in queues
  15. 50:26Weekly ordered queue design
  16. 1:01:14Double-checked locking pattern
  17. 1:13:23Performance tweaks for queues
  18. 1:22:24Single producer thread optimization
  19. 1:28:09Transactional memory support
~/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.