original balance sorts problems shared resources benefit use concurrency control non blocking algorithms advantages advantages concurrent computing include increased program throughput parallel execution concurrent program allows number tasks completed given time increase proportionally number processors according gustafson 's law high responsiveness input output input output intensive programs mostly wait input output operations complete concurrent programming allows time would spent waiting used another task appropriate program structure problems problem domains well suited
Formal science Computer science Programming languages Concurrent programming