May 19th, 2010 — The Anatomy of Message Passing — Bartosz Milewski


The message passing paradigm makes multithreaded programming safer. In this talk I’ll be trying to get to the bottom of message passing— finding low level primitives from which a variety of message queues or mailboxes may be built. I’ll make a few digressions into Haskell’s MVars and OCaml’s channels, but mainly I’ll talk about C++. I’ll show you how to separate synchronization from message storage for a composable and type-safe system.


I’m one part physicist, one part software engineer, and one part computer scientist. I have a Ph.D. in Theoretical Physics; I worked for Microsoft and for my own company, Reliable Software; and I frequent graduate seminars in programming languages at the University of Washington. I also keep a blog at, mostly about concurrent programming.