Wouldn’t it be great if you could have the compiler help you navigate the murky waters of multithreaded programming? This talk delves into the under explored issue of volatile-correctness. The exciting discovery is - if you follow a couple of simple rules in conjunction with the volatile keyword, you can transform all race conditions into compile-time errors.
Andrei Alexandrescu is a Development Manager with RealNetworks, Inc. He is a former columnist of the C++ Report magazine, and a columnist of C/C++ Users Journal. You can reach him at email@example.com.