This chapter will cover the following topics:
- Introduction to POSIX pthreads
- Creating threads with the pthreads library
- Thread creation and self-identification
- Starting a thread
- Stopping a thread
- Using the C++ thread support library
- Data racing and thread synchronization
- Joining and detaching threads
- Sending signals from threads
- Passing parameters to threads
- Deadlocks and solutions
- Concurrency
- Future, promise, packaged_task, and so on
- Concurrency with the thread support library
- Exception handling in concurrent applications
Let's learn these topics with a few interesting, easy-to-understand examples discussed throughout this chapter.