Concurrency describes any potential time overlap in a set of activities. Its most onerous complexities have been tackled mostly by parallel programmers trying to speed up their applications by harnessing the power of multiple computers (processors, or cores) tied together. Other programmers have mostly remained content with the relative simplicity and ever-increasing speeds of standard sequential (non-parallel) computers, and the rest of us with one-step-at-a-time approaches. But those days are ending: Typical processor speeds have leveled off, and now even laptops and phones are picking up...
Concurrency describes any potential time overlap in a set of activities. Its most onerous complexities have been tackled mostly by parallel programmer...