Addison-Wesley / Prentice Hall
Computer Science
Browse available resources for Computer Science:
- Select a resource
- Resources for Computer Science GOAL where virtual office hours are 24/7! Your Own TA, Just a Click Away! Deitel Resource Centers National Center for Women & Information Technology View material from Search Engines: Information Retrieval in Practice VideoNotes Andrew Tanenbaum Flame Award Recipient Custom Programs Instructor Resource Center myPearsonStore

ISBN-10: 0136807291
ISBN-13: 9780136807292
Publisher: Prentice Hall
Copyright: 1998
Format: Paper; 432 pp
Published: 12/09/1997
Suggested retail price: $34.95
Buy from myPearsonStore
For advanced Computer Science programming courses covering operating systems.
The books aim is to give the programmer a solid, basic understanding of threads — what they are, how they work, why they work, why they are useful, and some of the programming issues surrounding their use. A reader should come away with a solid understanding of the fundamentals of multithreading, being able to write credible, modestly complex, threaded programs.
- Focuses on the POSIX multithreading model, making comparisons to OS/2 and Win32 throughout.
-
Contrasting POSIX API to the OS/2 and Win32 APIs gives the programmer a feeling for what kind of porting issues might be involved when writing to more than one of these libraries.
-
- Promotes MT programming as a means for writing better programs more easily, and for having programs that run faster with fewer bugs.
- Provides an introduction to the underlying structures upon which threads are built, the construction of the threads themselves, and the operating system support that allows efficient implementation.
- Details the different scheduling models and the various alternative choices that could be made.
-
Describes context switching in detail.
-
Delves into the details of the various POSIX options and parameters.
-
- Discusses hardware — cache architectures, interconnect topologies, atomic instructions, invalidation techniques.
- Includes several complete programs which are presented as examples.
-
Details and issues of the threads used are discussed.
-
References to other programs on the net are made.
-
- Covers the cancellation of unwanted threads.
1. Introduction.
2. Concepts.
3. Foundations.
4. Lifecycle.
5. Scheduling.
6. Synchronization.
7. Complexities.
8. TSD.
9. Cancellation.
10. Signals.
11. Details.
12. Libraries.
13. Design.
14. Languages.
15. Tools.
16. Performance.
17. Hardware.
18. Examples.
Appendix A. Internet.
Appendix B. Books.
Appendix C. Timings.
Appendix D. Mistakes.
Appendix E. APIs.
Glossary.
Index.
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).
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).
68072-8
Based on the best-selling Threads Primer, Multithreaded Programming with Pthreads gives you a solid understanding of Posix threads: what they are, how they work, when to use them, and how to optimize them.
It retains the clarity and humor of the Primer, but includes expanded comparisons to Win32 and OS/2 implementations. Code examples tested on all of the major UNIX platforms are featured along with detailed explanations of how and why they use threads.
In addition to scheduling, synchronization, signal handling, etc., special emphasis is placed on:
- Cancellation: What does it mean to do bounded-time cancellation? What are the numerous details the programmer must deal with, and how do you avoid using cancellation at all?
- Error expeditions: What do they all mean and what should you do about them?
- Performance: How fast can a program run, and what are the limiting factors? Theoretical issues are considered and a case study for NFS is presented.
- Hardware: A number of machine designs are examined (Sun, SGI, and DEC), focusing on issues of performance, synchronization instructions, bus design, and invalidation techniques.
- Languages: The use of threads in other languages (Lisp, Eiffel, Smalltalk, etc.) is examined, with special emphasis on C++ and Java.
- References: Pointers to the newsgroup, FAQs, web pages, code examples, other books, freeware tools, and commercial products are included.
- More than anything else this is a practical book-it tells you what can and cannot be done with threads and why. In short, everything you need to know to build faster, smarter, multithreaded applications.
Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students, contact your Pearson Higher Education representative for pricing and ordering information.
Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students contact your Pearson Higher Education representative.

