On 5 March 2013 09:27, David Paterson wrote: > > In addition to Jonathan's answer on the use of "volatile", it's worth adding > that it's not only used for memory mapped hardware. There are many other > uses, such as inter-thread communication, or indeed the example you > show below. Only in broken code. volatile is not for multithreading, you need proper synchronization for interthread communication.