Game Developers need to write multi-threaded code in order to make full use of today’s multi-core CPUs. In order to get maximum performance these threads must sometimes communicate without using locks. However lockless programming comes with significant challenges which must first be understood and overcome. This talk will explain the problems with locks and how lockless programming can avoid those limitations. It will then cover some of the challenges with lockless programming and how to manage them. Finally the talk will present some lockless techniques that have been successfully used in games. Concrete examples and performance measurements will be shown.