The age of single core CPUs in computing is long gone. As processing power increases and multiple processing cores get stacked into a single silicon chip, the applications we write too need to be optimized to utilize the underlying hardware it runs on.
Though we overlook at times and focus ourselves more on the business logic implemented, in the long run in terms of usability and scalability applications would need to be revised and thought through for better optimization.
Multithreading however helps in solving the following.
- Improved responsiveness of applications.
- Maximize utilization and performance.
- Concurrent access to resources.