What a great man, Lamport. I was astonished by his work Paxos[1] studied in Distributed Systems class.<p>[1] <a href="http://research.microsoft.com/en-us/um/people/lamport/pubs/lamport-paxos.pdf" rel="nofollow">http://research.microsoft.com/en-us/um/people/lamport/pubs/l...</a>
>The proof of correctness of the algorithm revealed that the read or write of an entire number need not be atomic. The bakery algorithm is correct as long as reading a number returns the correct value if the number is not concurrently being written. It doesn't matter what value is returned by a read that overlaps a write. The algorithm is correct even if reading a number while it is changing from 9 to 10 obtains the value 2496.<p>How?