Зарегистрироваться
Восстановить пароль
FAQ по входу

PThreads Primer. A Guide to Multithreaded Programming

  • Файл формата pdf
  • размером 951,70 КБ
  • Добавлен пользователем , дата добавления неизвестна
  • Описание отредактировано
PThreads Primer. A Guide to Multithreaded Programming
1996 Sun Microsystems, Inc. — Printed in the United States of America.
2550 Garcia Avenue, Mountain View, California 94043-1100 U.S.A.
ISBN 0-13-443698-9.
SunSoft Press.
A Prentice Hall Title.
How This Book Is Organized.
Introduction—In which we present the motivation for creating thread.
libraries, discuss the advent of shared memory multiprocessors, and the.
interactions between threads and SMP machines.
Concepts—In which the reader is introduced to the basic concepts of.
multitasking operating systems and of multithreading as it compares to other.
programming paradigms. The reader is shown a set of reasons why.
multithreading is a valuable addition to programming paradigms, and a number.
of examples of successful deployment are presented.
Foundations—In which the reader is introduced to the underlying.
structures upon which threads are built, the construction of the thread itself, and.
the operating system support that allows an efficient implementation.
Lifecycle—In which the reader is treated to a comprehensive.
explanation of the intricacies in the life of a thread—birth, life, and death. Even.
death by vile cancellation. A small program which illustrates all of these stages.
concludes the chapter.
Scheduling—In which we explain the myriad details of the different.
scheduling models and the various alternative choices that could be made. Then.
we describe context switching in detail. Finally, we delve into gruesome detail of.
the various POSIX options and parameters. There is a light at the end of the.
tunnel, however.
Synchronization—In which the reader is led on a hunt for the.
intimidating synchronization variable and discovers that it is not actually as.
frightening as had been thought. Programs illustrating the basic use of the POSIX.
primitives are shown.
Complexities—In which a series of more complex synchronization.
variables and options are presented and the trade-off between them and the.
simpler ones are discussed. Synchronization problems and techniques for dealing.
with them conclude the chapter.
TSD—In which an explanation of thread-specific data is provided, its.
use and some of the implementation details. We note a few places where use of.
TSD could be made more efficient and a few other optimizations that can be.
made.
Cancellation—In which we describe the acrimonious nature of some.
programs and how unwanted threads may be disposed of. The highly complex.
issues surrounding bounded time termination and program correctness are also.
covered. A simple conclusion is drawn.
Signals—In which we deal with the various aspects of handling.
asynchronous events in a multithreaded program. The definitions are given, alternative designs are discussed, and a program illustrating the most complex.
case is shown.
Details—In which the details of actually writing and compiling an.
MT program are reviewed. The defined constants are described and methods of.
dealing with errors are proposed. We note which vendors have made extensions.
to Pthreads, and where POSIX is headed.
Libraries—In which we explore a variety of operating systems issues.
that bear heavily upon the usability of the threads library in actual programs. We.
examine the status of library functions and the programming issues facing them.
We look at some design alternatives for library functions.
Design—In which we explore some designs for programs and library.
functions. Making both programs and individual functions more concurrent is a.
major issue in the design of these functions. We look at a variety of code.
examples and the trade-offs between them.
Languages—In which the use of threads in various programming.
languages is considered and a few minor notes about special features and.
requirements are made. A number of public Pthreads libraries and some.
commercial products exist and are noted.
Tools—In which we consider the kinds of new tools that a reader.
would want when writing a threaded program. An overview of the Solaris tool.
set is given, as representative of what should be looked for.
Performance —In which we make things faster, looking at general.
performance issues, political performance issues, and thread specific performance.
issues. We conclude with a discussion of the actual performance of multithreaded.
NFS.
Hardware—In which we look at the various designs for SMP.
machines (cache architectures, interconnect topologies, atomic instructions, invalidation techniques) and consider how those designs affect our programming.
decisions. Some optimization possibilities are looked at.
Examples—In which several complete programs are presented.
The details and issues surrounding the way they use threads are discussed and.
references to other programs on the net are made.
  • Чтобы скачать этот файл зарегистрируйтесь и/или войдите на сайт используя форму сверху.
  • Регистрация