What is it about?
It is very challenging to program applications where multiple threads and processes are running concurrently. One has to cope with many unforeseeable scenarios, including failures, delays, widely varying loads, etc. For over 50 years, we have been slowly mastering the difficulties, developing more sophisticated techniques and deeper theoretical insights, through a paradigm that reduces the problem specifications and reasoning to the much easier world of programming a single sequential process.
Featured Image
Photo by timJ on Unsplash
Why is it important?
Today, almost all systems consist of multiple programs that run concurrently, collaborate and interact. From the microscopic world of multi-core chips to wide area networks, blockchains, distributed databases, and even interplanetary applications.
Perspectives
Read the Original
This page is a summary of: Mastering concurrent computing through sequential thinking, Communications of the ACM, December 2019, ACM (Association for Computing Machinery),
DOI: 10.1145/3363823.
You can read the full text:
Contributors
The following have contributed to this page