Herb sutter is an author and speaker, a software architect at microsoft. As we saw last month, lockfree coding is hard even for experts. Its easy to write lockfree code that appears to work, but its very difficult to. As we saw last month 1, lockfree coding is hard even for experts. Today i will introduce a new technology of lockfree programming. But concurrent lockfree programming is known to be very much harder for programmers to understand and reason about than even concurrent lockbased programming. Exampledriven talk on how to design and write lockfree algorithms and data. Lockfree programming or, how to juggle razor blades 2 hours. If youd like to purchase the complete copy of these materials. Lifetime safety means writing code that, by construction, is guaranteed to eliminate two things. Herb continues his exploration of lockfree codethis time focusing on creating a lockfree queue.
Worse, it is also fundamentally flawed for building large programs. Sutters mill page 10 herb sutter on software development. Bladeslockfree programming or, juggling razor blades herb sutter. Herb sutter on software development out of order effective concurrency. My proposed talks part 1 ive been watching the talk proposals rolling in for cppcon, now well over 100 of them, and i was already looking forward to this conference but i just keep getting more jazzed. Most of the time, only systems and library writers should have to understand lockfree programming, although. Lockfree programming or, juggling razor blades, part 2. Herb sutter is a leading authority on software development. Cppcon2014lockfree programming or, juggling razor blades. Writing lockfree code a corrected queue herb sutter concurrency, software development 20081102 1 minute. Lockfree linked lists, the aba problem, and atomic smart pointers. Sutters mill page 48 herb sutter on software development. Adventures in lockfree programming the other branch. But they are still widely misunderstood, sometimes because of unclear teaching and sometimes because of a desire to view move as something else instead of what it is.
943 987 932 1528 1057 824 901 1472 678 1184 909 88 1179 1009 140 431 1380 972 686 23 859 314 875 296 871 1099 565 989 1426 148 412 1252 1159 952 314 1401 337 1033 1214 773