@inbook{lampson2022programming, author = {Lampson, Butler}, title = {Programming Concurrent Systems}, booktitle = {Edsger Wybe Dijkstra: His Life, Work, and Legacy}, year = {2022}, month = {July}, abstract = {Concurrent programs are nondeterministic, which makes them difficult to reason about and to debug. But today computing systems have lots of processors, so concurrent programs are unavoidable. Atomicity makes it possible to reason as though most of the program is sequential, with locks and conditions allowing a number of sequential processes to communicate safely using ideas introduced by Dijkstra in the 1960s.}, publisher = {ACM}, url = {http://approjects.co.za/?big=en-us/research/publication/programming-concurrent-systems/}, pages = {27-46}, chapter = {3}, isbn = {ISBN: 978-1-4503-9774-2}, note = {Tribute volume for Edsger Dijkstra}, }