Книги автора: Programming with POSIX® Threads
/ Книги автора: Programming with POSIX® Threads
Книга: Programming with POSIX® Threads
Оглавление книги
- Addison-Wesley Professional Computing Series
- Quote acknowledgments:
- Preface
- 1 Introduction
- 1.1 The "bailing programmers"
- 1.2 Definitions and terminology
- 1.2.1 Asynchronous
- 1.2.2 Concurrency
- 1.2.3 Uniprocessor and multiprocessor
- 1.2.4 Parallelism
- 1.2.5 Thread safety and reentrancy
- 1.2.6 Concurrency control functions
- 1.3 Asynchronous programming is intuitive ...
- 1.4 About the examples in this book
- 1.5 Asynchronous programming, by example
- 1.5.1 The baseline, synchronous version
- 1.5.2 A version using multiple processes
- 1.5.3 A version using multiple threads
- 1.5.4 Summary
- 1.6 Benefits of threading
- 1.7 Costs of threading
- 1.8 To thread or not to thread?
- 1.9 POSIX thread concepts
- 2 Threads
- 3 Synchronization
- 3.1 Invariants, critical sections,and predicates
- 3.2 Mutexes
- 3.2.1 Creating and destroying a mutex
- 3.2.2 Locking and unlocking a mutex
- 3.2.3 Using mutexes for atomicity
- 3.2.4 Sizing a mutex to fit the job
- 3.2.5 Using more than one mutex
- 3.3 Condition variables
- 3.3.1 Creating and destroying a condition variable
- 3.3.2 Waiting on a condition variable
- 3.3.3 Waking condition variable waiters
- 3.3.4 One final alarm program
- 3.4 Memory visibility between threads
- 4 A few ways to use threads
- 5 Advanced threaded programming
- 5.1 One-time initialization
- 5.2 Attributes objects
- 5.3 Cancellation
- 5.4 Thread-specific data
- 5.4.1 Creating thread-specific data
- 5.4.2 Using thread-specific data
- 5.4.3 Using destructor functions
- 5.5 Realtime scheduling
- 5.5.1 POSIX realtime options
- 5.5.2 Scheduling policies and priorities
- 5.5.3 Contention scope and allocation domain
- 5.5.4 Problems with realtime scheduling
- 5.5.5 Priority-aware mutexes
- 5.6 Threads and kernel entities
- 6 POSIX adjusts to threads
- 6.1 fork
- 6.2 exec
- 6.3 Process exit
- 6.4 Stdio
- 6.5 Thread-safe functions
- 6.5.1 User and terminal identification
- 6.5.2 Directory searching
- 6.5.3 String token
- 6.5.4 Time representation
- 6.5.5 Random number generation
- 6.5.6 Group and user database
- 6.6 Signals
- 7 "Real code"
- 8 Hints to avoid debugging
- 8.1 Avoiding incorrect code
- 8.1.1 Avoid relying on "thread inertia"
- 8.1.2 Never bet your mortgage on a thread race
- 8.1.3 Cooperate to avoid deadlocks
- 8.1.4 Beware of priority inversion
- 8.1.5 Never share condition variables between predicates
- 8.1.6 Sharing stacks and related memory corrupters
- 8.2 Avoiding performance problems
- 9 POSIX threads mini-reference
- 10 Future standardization
- 10.1 X/OpenXSH5(UNIX98)
- 10.1.1 POSIX options for XSH5
- 10.1.2 Mutex type
- 10.1.3 Set concurrency level
- 10.1.4 Stack guard size
- 10.1.5 Parallel I/O
- 10.1.6 Cancellation points
- 10.2.1 Barriers
- 10.2.2 Read/write locks
- 10.2.3 Spinlocks
- 10.2.4 Condition variable wait clock
- 10.2.5 Thread abort
- 10.3 POSIX 1003.14
- Bibliography
- Thread resources on the Internet
- Сноски из книги
- Содержание книги
- Популярные страницы
Оглавление статьи/книги
- Addison-Wesley Professional Computing Series
- Quote acknowledgments:
- Preface
- 1 Introduction
- 2 Threads
- 3 Synchronization
- 4 A few ways to use threads
- 5 Advanced threaded programming
- 6 POSIX adjusts to threads
- 7 "Real code"
- 8 Hints to avoid debugging
- 9 POSIX threads mini-reference
- 10 Future standardization
- Bibliography
- Thread resources on the Internet
- Сноски из книги
- Содержание книги
- Популярные страницы
Похожие страницы
- 4 A few ways to use threads
- 2 Threads
- Programming with POSIX® Threads
- Using Double Quotes to Resolve Variables in Strings with Embedded Spaces
- Drawbacks with restore
- 7. AGGREGATION WITH INDEPENDENT WORKS
- Конструкция with-do
- 3. Hexadecimal – the way we communicate with micros
- PART V Programming Linux
- CHAPTER 3 Working with GNOME
- CHAPTER 8 Printing with Fedora
- CHAPTER 15 Remote Access with SSH