This chapter forms the first of three on the large topic of writing multithreaded applications on the Linux platform. Here, we have covered two key areas: the first was in regards to the all-important concepts regarding what exactly is a thread, and we contrast it to the process model (which we studied in Chapter 9, Process Execution and Chapter 10, Process Creation). Why you would prefer a multithreaded design was covered in some detail, and included three examples. In this way, the motivation to use a multithreaded design approach was being brought out.
The second part of this chapter focused on the actual pthread APIs (and their related concepts), how we create a thread—how many can and how many should be created was addressed as well. Thread termination basics, thread attributes, passing along a parameter to the newly created thread, what is joining and how...