Skip to content

Programming with POSIX Threads

Best in textbook rentals since 2012!

ISBN-10: 0201633922

ISBN-13: 9780201633924

Edition: 1997

Authors: David Butenhof

List price: $64.99
Blue ribbon 30 day, 100% satisfaction guarantee!
what's this?
Rush Rewards U
Members Receive:
Carrot Coin icon
XP icon
You have reached 400 XP and carrot coins. That is the daily max!

Description:

This book is a programmer's guide to POSIX threads (Pthreads), which are an important set of UNIX tools, by a recognised authority on POSIX threads - David Butenhof.
Customers also bought

Book details

List price: $64.99
Copyright year: 1997
Publisher: Addison Wesley Professional
Publication date: 5/16/1997
Binding: Paperback
Pages: 400
Size: 7.44" wide x 9.29" long x 0.83" tall
Weight: 8.206
Language: English

List of Example Programs
Preface
Intended Audience
About the Author
Acknowledgments
Introduction
The "Bailing Programmers"
Definitions and Terminology
Asynchronous
Concurrency
Uniprocessor and Multiprocessor
Parallelism
Thread Safety and Reentrancy
Concurrency Control Functions
Asynchronous Programming is Intuitive
Because Unix is Asynchronous
Because the World is Asynchronous
About the Examples in This Book
Asynchronous Programming, by Example the Baseline, Synchronous Version
A Version Using Multiple Processes
A Version Using Multiple Threads
Summary
Benefits of Threading
Parallelism
Concurrency
Programming Model
Costs of Threading
Computing Overhead
Programming Discipline
Harder to Debug
To Thread or Not to Thread?
POSIX Thread Concepts
Architectural Overview
Types and Interfaces
Checking for Errors
Threads
Creating and Using Threads
The Life of a Thread
Creation
Startup
Running and Blocking
Termination
Recycling
Synchronization
Invariants, Critical Sections, and Predicates
Mutexes
Creating and Destroying a Mutex
Locking and Unlocking a Mutex
Nonblocking Mutex Locks
Using Mutexes for Atomicity
Sizing a Mutex to Fit the Job
Using More Than One Mutex
Lock Hierarchy
Lock Chaining
Condition Variables
Creating and Destroying a Condition Variable
Waiting on a Condition Variable
Waking Condition Variable Waiters
One Final Alarm Program
Memory Visibility Between Threads
A Few Ways to Use Threads
Pipeline
Work Crew
Client/Server
Advanced Threaded Programming
One-Time Initialization
Attributes Objects
Mutex Attributes
Condition Variable Attributes
Thread Attributes
Cancellation
Deferred Cancelability
Asynchronous Cancelability
Cleaning Up
Thread-Specific Data
Creating Thread-Specific Data
Using Thread-Specific Data
Using Destructor Functions
Realtime Scheduling
POSIX Realtime Options
Scheduling Policies and Priorities
Contention Scope and Allocation Domain
Problems With Realtime Scheduling
Priority-Aware Mutexes
Priority Ceiling Mutexes
Priority Inheritance Mutexes
Threads and Kernel Entities
Many-to-One (User Level)
One-to-One (Kernel Level)
Many-to-Few (Two Level)
Posix Adjusts to Threads
Fork
Fork Handlers
Exec
Process Exit
Stdio
Flockfile and Funlockfile
Getchar_Unlocked and Putchar_Unlocked
Thread-Safe Functions
User and Terminal Identification
Directory Searching
String Token
Time Representation
Random Number Generation
Group