Advantages of Concurrency

Almost every computer nowadays has several CPU's or several cores within one CPU. The ability to leverage theses multi-cores can be the key for a successful high-volume application.  Increased application throughput - parallel execution of a concurrent program allows the number of tasks completed in certain time period to increase.  High responsiveness for input/output-intensive applications mostly wait for input or output operations to complete. Concurrent programming allows the time that would be spent waiting to be used for another task.  More appropriate program structure - some problems and problem domains are well-suited to representation as concurrent tasks or processes.

Comments