~/talk

What All Rubyists Should Know About Threads

Talkat RubyConf 2008 · 2008-11-06..11-08· [ruby, concurrency]
slides:none on file

Shows that Ruby programs with threads break predictably: simple account example loses hundreds of thousands due to a race condition; adding a mutex synchronize around credit/debit fixes single-account races but creates cascading problems when transferring between two accounts, requiring double-checked locking or ordering by priority to avoid deadlock by locking multiple resources. Demonstrates a 1‑in‑a‑million failure rate in homegrown lock hacks, cites a threaded bug in rake, and suggests using Erlang or Clojure’s transactional refs for safer concurrency.

AI-written summary · about

  1. 0:00Introduction
  2. 2:40Clock Speed
  3. 5:56HyperThreading
  4. 7:26Applications Need to be Concurrent
  5. 8:35Learn to Program Like Your Mom
  6. 11:11Concurrent Program
  7. 13:43Race Condition
  8. 16:15Critical Region
  9. 24:05Syncing Accounts
  10. 25:22Explicit Sync
  11. 29:39Multithreading
  12. 31:41RealTime Data
  13. 33:14One in a Million
  14. 34:58DoubleCheck Lock
  15. 38:58Tail Recursion
  16. 42:01Lisp
  17. 42:25Numbers
  18. 45:59Summary
~/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.