Posts

Showing posts with the label Threads multithreading concurrency parallelism Threading Models

Threads - start using it!

Why should you use a lot of threads ? Threads can help you take advantage of multi core CPU systems. It enables your application to run parallel and concurrent tasks. It will help your application be responsive, your application processes can share hardware resources, it will be less costly ( in terms of hardware resources) than starting a new process.[1] BUT using threads brings up new programming challenges. An application is harder to test and debug when it is multi threaded. Even if applications are harder to test, we should embrace it because those core are going to multiply really fast and applications should take advantage of it. If you are a programmer you should really learn and teach yourself how to write applications using multiple threads because it is going to be required sooner or later. So what do you need to know about Threads ? In order to effectively use the underlying hardware (processor), a developer should know the underlying threading model where yo