POSIX threads, or pthreads, allow multiple tasks to run concurrently within the same program. They can share a single CPU as processes do, or take advantage of multiple CPUs when available. In either case, they provide a clean way to divide the tasks of a program while sharing data. This book
PThreads Programming A POSIX Standard for Better Multiprocessing
β Scribed by Dick Buttlar, Jacqueline Farrell, Bradford Nichols
- Publisher
- OβReilly
- Year
- 2013
- Tongue
- English
- Leaves
- 288
- Category
- Library
No coin nor oath required. For personal study only.
β¦ Synopsis
Basic design techniques
Mutexes, conditions, and specialized synchronization techniques
Scheduling, priorities, and other real-time issues
Cancellation
UNIX libraries and re-entrant routines
Signals
Debugging tips
Measuring performance
Special considerations for the Distributed Computing Environment (DCE)
β¦ Table of Contents
Chapter 1 Why Threads?
What Are Pthreads?
Potential Parallelism
Specifying Potential Parallelism in a Concurrent Programming Environment
Parallel vs. Concurrent Programming
Synchronization
Who Am I? Who Are You?
Terminating Thread Execution
Why Use Threads Over Processes?
A Structured Programming Environment
Choosing Which Applications to Thread
Chapter 2 Designing Threaded Programs
Suitable Tasks for Threading
Models
Buffering Data Between Threads
Some Common Problems
Performance
Example: An ATM Server
Example: A Matrix Multiplication Program
Chapter 3 Synchronizing Pthreads
Selecting the Right Synchronization Tool
Mutex Variables
Condition Variables
Reader/Writer Locks
Synchronization in the ATM Server
Thread Pools
Chapter 4 Managing Pthreads
Setting Thread Attributes
The pthread_once Mechanism
Keys: Using Thread-Specific Data
Cancellation
Scheduling Pthreads
Mutex Scheduling Attributes
Chapter 5 Pthreads and UNIX
Threads and Signals
Threadsafe Library Functions and System Calls
Cancellation-Safe Library Functions and System Calls
Thread-Blocking Library Functions and System Calls
Threads and Process Management
Multiprocessor Memory Synchronization
Chapter 6 Practical Considerations
Understanding Pthreads Implementation
Debugging
Performance
Conclusion
Appendix Pthreads and DCE
The Structure of a DCE Server
What Does the DCE Programmer Have to Do?
Example: The ATM as a DCE Server
Appendix Pthreads Draft 4 vs. the Final Standard
Detaching a Thread
Mutex Variables
Condition Variables
Thread Attributes
The pthread_once Function
Keys
Cancellation
Scheduling
Signals
Threadsafe System Interfaces
Error Reporting
System Interfaces and Cancellation-Safety
Process-Blocking Calls
Process Management
Appendix Pthreads Quick Reference
Appendix About the Authors
Colophon
π SIMILAR VOLUMES
<div><p>Computers are just as busy as the rest of us nowadays. They have lots of tasks to do at once, and need some cleverness to get them all done at the same time.</p> <p>That's why threads are seen more and more often as a new model for programming. Threads have been available for some time. T
Computers are just as busy as the rest of us nowadays. They have lots of tasks to do at once, and need some cleverness to get them all done at the same time. That's why threads are seen more and more often as a new model for programming. Threads have been available for some time. The Mach operati
This book offers an in-depth description of the IEEE operating system interface standard, POSIX (Portable Operating System Interface) threads, commonly called Pthreads. Written for experienced C programmers, but assuming no previous knowledge of threads, the book explains basic concepts such as asyn
This book offers an in-depth description of the IEEE operating system interface standard, POSIX (Portable Operating System Interface) threads, commonly called Pthreads. Written for experienced C programmers, but assuming no previous knowledge of threads, the book explains basic concepts such as asyn