Ship-Ship-Hooray! Free Shipping on $25+ Details >
Multithreaded Programming With PThreads

Multithreaded Programming With PThreads - 98 edition

Multithreaded Programming With PThreads - 98 edition

ISBN13: 9780136807292

ISBN10: 0136807291

Multithreaded Programming With PThreads by Bil Lewis and Daniel J. Berg - ISBN 9780136807292
Edition: 98
Copyright: 1998
Publisher: Prentice Hall, Inc.
International: No
Multithreaded Programming With PThreads by Bil Lewis and Daniel J. Berg - ISBN 9780136807292

ISBN13: 9780136807292

ISBN10: 0136807291

Edition: 98

shop us with confidence

Author Bio

Lewis, Bil :

Bil Lewis, formerly with Sun Microsystems, Inc., now consults and teaches multithreaded programming. He is the co-author of Threads Primer: A Guide to Multithreaded Programming (Sun Microsystems Press/Prentice Hall).

Berg, Daniel J. : Sun Microsystems

Daniel J. Berg is the Chief Technology Officer for Sun Microsystems' U.S. Reseller Channel. Mr. Berg has published papers and several books on Sun technologies, including Threads Primer (with Bil Lewis) and Advanced Techniques for Java Developers (Wiley).

Table of Contents

Table of Contents

1. Introduction

2. Concepts

Background: Traditional Operating Systems
What Is a Thread? Kernel Interaction
The Value of Using Threads
What Kind of Programs to Thread? What About Shared Memory? Threads Standards

3. Foundations

Implementation vs
Thread Libraries
The Process Structure
Lightweight Processes
Solaris Multithreaded Model
System Calls

4. Lifecycle

Thread Lifecycle

5. Scheduling

Different Models of Kernel Scheduling
Thread Scheduling
Context Switching
When Should You Care About Scheduling?

6. Synchronization

Synchronization Issues
Synchronization Variables
A Stoppable Producer/Consumer Example

7. Complexities

Complex Locking Primitives
Other Synchronization Variables
Message Queues
Cross-Process Synchronization Variables
Initialization and Destruction
Synchronization Problems

8. TSD

Thread-Specific Data
Global Variables, Constants, and Cheating

9. Cancellation

What Cancellation Is
A Cancellation Example
Using Cancellation
Cancellation Safety
Simple Polling

10. Signals

Signals in UNIX
The Solaris Implementation of Signal Handling
Don't Use Signal Handlers!

11. Details

Attribute Objects
POSIX Thread Ids
Win32 Thread IDs and Thread Handles
Initializing Your Data: pthread_once()
POSIX Namespace Restrictions
Return Values and Error Reporting
Constants Comments
Pthread Futures
Pthread Extensions
Comparing the OS/2, Win32, and POSIX Libraries

12. Libraries

The Threads Library
Multithreaded Kernels
Are Libraries Safe? Stub Functions in libc
New Semantics for System Calls
Are Libraries Safe? Threads Debugger Interface
Mixing Solaris Pthreads and UI Threads
Comparisons of Different Implementations

13. Design

Making Libraries Safe and Hot
Manipulating Lists
Program Design

14. Languages

Commercial Products
Public Pthreads Implementations

15. Tools

Static Lock Analyzer
Using a Thread-Aware, Graphical Debugger
Debug Mutexes

16. Performance

Optimization: Objectives and Objections
CPU Time, I/O Time, Contention, Etc
Limits on Speedup
Benchmarks and Repeatable Testing
The Lessons of NFS

17. Hardware

Types of Multiprocessors
Bus Architectures
Memory Systems

18. Examples

Threads and Windows
Socket Server (Master/Slave Version)
Socket Server (Producer/Consumer Version)
Other Programs on the Web

Appendix A. Internet

Threads Newsgroup
Code Examples
Vendor's Threads Pages
Threads Research
The SPILT Package for UI/POSIX Compatibility
Freeware Tools
Other Pointers
The Authors on the Net

Appendix B. Books

Threads Books
Related Books

Appendix C. Timings

Appendix D. Mistakes

Appendix E. APIs

Function Descriptions
Pthread Functions
Pthread Attributes Objects
POSIX Realtime Scheduling
Mutex Attributes Objects
Condition Variables
Condition Variable Attributes Objects
Cancellation Functions
Thread-Specific Data Functions
Signal Functions