With the ubiquity of multicore processors in today’s computers, even on small devices such as cell phones, the ability to program effectively for multiple threads is a critical skill for all programmers.
There are essentially three reasons for using multiple threads:
The first reason does not have as much to do with performance as it does with not annoying the end user. The 2nd and 3rd options are all about efficient use of computing resources.
Computer processors have effectively hit a wall ...