Ãëàâíàÿ    Ex Libris    Êíèãè    Æóðíàëû    Ñòàòüè    Ñåðèè    Êàòàëîã    Wanted    Çàãðóçêà    ÕóäËèò    Ñïðàâêà    Ïîèñê ïî èíäåêñàì    Ïîèñê    Ôîðóì   
blank
Àâòîðèçàöèÿ

       
blank
Ïîèñê ïî óêàçàòåëÿì

blank
blank
blank
Êðàñîòà
blank
Butenhof D.R. — Programming with POSIX threads
Butenhof D.R. — Programming with POSIX threads



Îáñóäèòå êíèãó íà íàó÷íîì ôîðóìå



Íàøëè îïå÷àòêó?
Âûäåëèòå åå ìûøêîé è íàæìèòå Ctrl+Enter


Íàçâàíèå: Programming with POSIX threads

Àâòîð: Butenhof D.R.

Àííîòàöèÿ:

This book offers an in-depth description of the IEEE operating system interface standard, POSIX® (Portable Operating System Interface) threads, commonly called Pthreads. Written for experienced C programmers, but assuming no previous knowledge of threads, the book explains basic concepts such as asynchronous programming, the lifecycle of a thread, and synchronization. You then move to more advanced topics such as attributes objects, thread-specific data, and realtime scheduling. An entire chapter is devoted to "real code," with a look at barriers, read/write locks, the work queue manager, and how to utilize existing libraries. In addition, the book tackles one of the thorniest problems faced by thread programmers-debugging-with valuable suggestions on how to avoid code errors and performance problems from the outset.


ßçûê: en

Ðóáðèêà: Computer science/ßçûêè ïðîãðàììèðîâàíèÿ/

Ñòàòóñ ïðåäìåòíîãî óêàçàòåëÿ: Ãîòîâ óêàçàòåëü ñ íîìåðàìè ñòðàíèö

ed2k: ed2k stats

Ãîä èçäàíèÿ: 1997

Êîëè÷åñòâî ñòðàíèö: 381

Äîáàâëåíà â êàòàëîã: 11.11.2005

Îïåðàöèè: Ïîëîæèòü íà ïîëêó | Ñêîïèðîâàòü ññûëêó äëÿ ôîðóìà | Ñêîïèðîâàòü ID
blank
Ïðåäìåòíûé óêàçàòåëü
Realtime scheduling, hard realtime      172—173
Realtime scheduling, interfaces      326—335
Realtime scheduling, mutexes, priority ceiling      186—187 300
Realtime scheduling, mutexes, priority inheritance      186—188 300 307
Realtime scheduling, mutexes, priority-aware      185—186
Realtime scheduling, policies and priorities      174—181
Realtime scheduling, POSIX options      173
Realtime scheduling, problems with      183—185
Realtime scheduling, soft realtime      172—173
Recursive mutexes      349—351
Recycling threads      43—44
Reentrant      6—7 297.
Resume      See Pthread_kill (function)
Running threads      42
Scaling      20—22
schedparam (attribute)      138—141 175
schedpolicy (attribute)      138—141 175
Scheduler Activations model      194
Scheduling      See Realtime scheduling
SCHED_BG_NP (value)      175
SCHED_FG_NP (value)      175
SCHED_FIFO (value) and thread race      295
SCHED_FIFO (value), as a scheduling interface value      328—331 334—335
SCHED_FIFO (value), problems with      183—185
SCHED_FIFO (value), scheduling policies and priorities      174—175
sched_get_priority_max (function)      174 335
sched_get_priority_min (function)      174 335
SCHED_OTHER (value)      175 328—331 334—335
SCHED_RR (value)      174 185 328—331 334—335
sched_yield (function)      53—54 65 221 316
Schimmel, Curt      94
scope (attribute)      138—141 182
SC_GETGR_R_SIZE_MAX (value)      214
SC_GETPW_R_SIZE_MAX (value)      214
Semaphores, as a synchronization mechanism      8 30
Semaphores, functions, definition of      345—346
Semaphores, synchronization with signal catching      234—240
semjxywait (function)      237 346
sem_destroy (function)      237 345
sem_getvalue (function)      237
sem_init (function)      237 345
sem_post (function)      235—237 346
sem_t (value)      237
sem_wait (function)      236—237 346
Sequence races      284—285 295—297
Serial programming      25
Serial regions      See Predicates
Serialization      21
Shared data      3
sigaction (function)      215
SIGCONT (action)      217
sigevent      311
sigevjvalue (function)      311
sigev_notify_attributes      231
sigev_notify_function      231
SIGEV_THREAD (function)      40 231—234
SIGFPE (function)      215—216
SIGJJNBLOCK (value)      343
SIGKILL (function)      216—217
Signals and memory visibility      89
Signals, actions      215—216
Signals, and condition variables      72—76 80—81
Signals, background      214—215
Signals, handlers      91—92
Signals, interfaces      342—345
signals, masks      216
Signals, pthread_kill      217—227
Signals, running and blocking threads      42
Signals, semaphores      234—240
Signals, SIGEV_THREAD      231—234
Signals, sigwait      227—230. See also Condition variables
SIGPIPE (action)      215
sigprocmask (function)      216
sigqueue (function)      230
SIGSEGV (action)      216
SIGSTOP (action)      216—217
sigtimedwait (function)      228 343—344
SIGTRAP signal      216 290
sigwait (function) and semaphores      234
sigwait (function), definition of      227—230 344
sigwait (function), running and blocking      42
sigwaitinfo (function)      228 234 344—345
SIG_BLOCK (value)      343
SIG_SETMASK (value)      343
SIMD (single instruction, multiple data)      106
sleep (function)      15
SMP      See Multiprocessors
Soft realtime      172—173
Solaris 2.5, concurrency level, setting of      58 119 128 145 152 266
Solaris 2.5, programming examples, introduction to      12—13
Solaris 2.5, realtime scheduling      176 179
Solaris 2.5, SIGEV_THREAD implementation      231
Solaris 2.5, thread debugging library      290
Spinlocks      359
Spurious wakeups      80—81
stackaddr (attribute)      138—141
stacksize (attribute)      138—141
Startup threads      41—42
STDERR      33
stdin (function) and client servers      121
stdin (function) and stdio      205—207
stdin (function) in asynchronous program example      14 18
stdin (function) in pipeline program example      98 105
stdio (function) and concurrency      23
stdio (function) and fork handlers      199
stdio (function) and realtime scheduling      190
stdio (function), interfaces      336—338
stdio (function), thread-safety      6
stdout (function) and client servers      121
stdout (function) and stdio      205
stdout (function) in pipeline program example      98
stdout (function) in suspend program example      224
strerror (function)      33
String token function      212
strtok_r (function)      212 339
struct aiocb      230
struct dirent      109 210
struct sigevent      230
Suspend      See Pthread_kill (function)
Synchronization and computing overhead      26
Synchronization and programming model      24—25
Synchronization and reentrant code      6—7
Synchronization and scheduling      295
Synchronization and semaphores      234—240
Synchronization, and sequence race      294—297
Synchronization, and UNIX      9—11. See also Barriers; Condition variables; Invariants; Memory visibility;
Synchronization, architectural overview      30
Synchronization, critical sections      46
Synchronization, definition of      7—8
Synchronization, objects      3
Synchronization, protocols      26
Synchronization, races      284—285
Synchronous I/O operations      22—23
Synchronous programming      13—15 27
Synchronous sysconf (function)      185 214 307—308
System contention      181—185
Termination of threads      43—44
thd_continue (interface)      217 223—224
thd_suspend (interface)      217—221 224
Thread-safe and mutexes      62
Thread-safe and programming discipline      26—27
Thread-safe functions, directory searching      212
Thread-safe functions, group and user database      213—214
Thread-safe functions, random number generation      213
Thread-safe functions, string token      212
Thread-safe functions, time representation      212—213
Thread-safe functions, user and terminal identification      209—211
Thread-safe, definition of      6—7
Thread-safe, interfaces      286—287 338—342
Thread-safe, libraries      283—285
Thread-safe, library      303—304
Thread-specific data and termination      43
Thread-specific data and thread-safety      6—7
Thread-specific data, creating      163—166
Thread-specific data, destructor functions      167—172
Thread-specific data, interfaces      325—326
Thread-specific data, overview      161—163
Thread-specific data, use of      166—167
Threads and asynchronous programming      8—12
Threads and traditional programming      4 27
Threads, abort (POSIX 1003.1J)      361
Threads, architectural overview      30
Threads, as part of a process      10
Threads, attributes      138—141
Threads, benefits of      10—11 20—25
Threads, blocking      42
Threads, candidates for      28—29
Threads, client server programming model      120—129
Threads, costs of      25—28
Threads, creating and using      25—41
Threads, definition of      8
Threads, error checking      31—34
Threads, identifier      36
Threads, implementation of      189
Threads, initial (main)      36—42 119 131—134
Threads, interfaces      311—316
Threads, introduction to      1—3
Threads, many to few (two level)      193—195
Threads, many to one (user level)      190—191
Threads, one to one (kernel level)      191—193
Threads, pipeline programming model      97—105
Threads, processes, compared to      10 20
Threads, programmers, compared to      3
Threads, programming model      24—25
Threads, ready      39—42 53
Threads, recycling      43—44
threads, running      42
Threads, startup      41—42
Threads, states of      39—41
Threads, termination      43—44
Threads, types and interfaces      30—31
Threads, work crew programming model      105—120. See also Concurrency; Debugging threads
thr_setconcurrency (function)      13 58 119 128 145 152
Time representation function      212—213
Timer signals      23
timer_create (function)      230
Timeslice      8 42 174
Tokens      3 47
tty_name_r (function)      210
Uniprocessors and allocation domain      182
Uniprocessors and concurrency      4—5
Uniprocessors and deadlock      65
Uniprocessors and thread inertia      291—293
Uniprocessors and thread race      293—297
Uniprocessors, definition of      5
unistd.h (header file)      307
University of Washington      194
UNIX and asynchronous      9—11 22
UNIX and error checking      31—34
UNIX Systems for Modern Architectures      94
UNIX, kernel      154
UNIX, programming examples, introduction to      12—13
UNIX98      SeeXSH5
User and terminal identification function      210—211
Variable weight processes      1
void*, creating and using threads      36
void*, definition of      311
void*, thread startup      42
void*, thread termination      43
waitpid (function)      15 19
WNOHANG (flag)      15
Word tearing      95
Work crews      105—120 270—283
work queue      See Work crews
X Windows      28
X/OPEN      See XSH5
X/Open CAE Specification, System Interfaces and Headers, Issue 5      See XSH5
XSH5, cancellation points      148 355—356
XSH5, concurrency level      351—353
XSH5, mutex error detection and reporting      311
XSH5, mutex types      349—351
XSH5, parallel I/O      354—355
XSH5, POSIX options for      348—349
XSH5, stack guard size      353—354
_POSIX_REALTIME_SIGNALS (option)      228
_POSIX_SEMAPHORES (option)      235
_POSIX_THREADS (option)      308 348
_POSIX_THREAD_ATTR_STACKADDR (option)      139 308 348
_POSIX_THREAD_PRIORTTY_SCHEDULING (option)      173—176 179 308 349
_POSIX_THREAD_PRIO_PROTECT (option)      185—186 308 349
_POSIX_THREAD_PROCESS_SHARED (option)      136—137 308 348
_POSIX_THREAD_SAFE_FUNCTIONS (option)      308 349
_POSIX_TIMERS (option)      360
_POSrX_THREAD_PRIO_INHERIT (option)      185—186 308 349
_SC_THREADS (limit)      308
_SC_THREAD_ATTR_STACKADDR (option)      308
_SC_THREAD_ATTR_STACKSIZE (option)      308
_SC_THREAD_DESTRUCTOR_ITERATIONS (limit)      309
_SC_THREAD_KEYS_MAX (limit)      309
_SC_THREAD_PRIORITY_SCHEDULING (option)      308
_SC_THREAD_PRIO_INHERIT (option)      185 308
_SC_THREAD_PRIO_PROTECT (option)      185—186 308
_SC_THREAD_PROCESS_SHARED (option)      308
_SC_THREAD_SAFE_FUNCTIONS (option)      308
_SC_THREAD_STACK_MIN (limit)      309
_SC_THREAD_THREADS_MAX (limit)      309
1 2 3
blank
Ðåêëàìà
blank
blank
HR
@Mail.ru
       © Ýëåêòðîííàÿ áèáëèîòåêà ïîïå÷èòåëüñêîãî ñîâåòà ìåõìàòà ÌÃÓ, 2004-2024
Ýëåêòðîííàÿ áèáëèîòåêà ìåõìàòà ÌÃÓ | Valid HTML 4.01! | Valid CSS! Î ïðîåêòå