Ãëàâíàÿ    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
Ïðåäìåòíûé óêàçàòåëü
POSIX 1003, 14 (multiprocessor profile)      30 182 361—362
POSIX 1003, 1b-1993 (realtime) and condition variables      3.94 80
POSIX 1003, 1b-1993 (realtime) and semaphores      236—237 345
POSIX 1003, 1b-1993 (realtime) and signals      230—232
POSIX 1003, 1b-1993 (realtime), thread concepts      29—30
POSIX 1003, 1b-1993 (realtime), void *, use of      311
POSIX 1003, 1c-1995 (threads) and cancellation      154
POSIX 1003, 1c-1995 (threads) and realtime scheduling      173
POSIX 1003, 1c-1995 (threads), cancellation, interfaces      323—325
POSIX 1003, 1c-1995 (threads), condition variables, interfaces      319—322
POSIX 1003, 1c-1995 (threads), error detection and reporting      310—311
POSIX 1003, 1c-1995 (threads), fork handlers, interfaces      336
POSIX 1003, 1c-1995 (threads), interfaces, overview      309—310
POSIX 1003, 1c-1995 (threads), limits      308—309
POSIX 1003, 1c-1995 (threads), mutexes, interfaces      316—319
POSIX 1003, 1c-1995 (threads), options      307—308
POSIX 1003, 1c-1995 (threads), realtime scheduling, interfaces      326—335
POSIX 1003, 1c-1995 (threads), semaphores, interfaces      345—346
POSIX 1003, 1c-1995 (threads), signals, interfaces      342—345
POSIX 1003, 1c-1995 (threads), stdio, interfaces      336—338
POSIX 1003, 1c-1995 (threads), thread concepts      29—30
POSIX 1003, 1c-1995 (threads), thread-safe, interfaces      338—342
POSIX 1003, 1c-1995 (threads), thread-specific data, interfaces      325—326
POSIX 1003, 1c-1995 (threads), threads, interfaces      311—316
POSIX 1003, 1c-1995 (threads), void *, use of      311
POSIX 1003, 1j (additional realtime extension), barriers      249 356—358
POSIX 1003, 1j (additional realtime extension), read/write locks      358
POSIX 1003, 1j (additional realtime extension), spinlocks      359
POSIX 1003, 1j (additional realtime extension), thread abort      361
POSIX 1003, 1j (additional realtime extension), wait clock, condition variable      359—361
POSIX 1003. li-1995 (corrections to 1003, 1b-1993)      29—30
POSIX, architectural overview      30
POSIX, conformance document      307 308
POSIX, error checking      31—34
POSIX, realtime scheduling options      173
POSIX, signal mechanisms      40—41 81—82
POSIX, types and interfaces      30—31
POSIX_PRIOJNHERIT      186
POSIX_PRIO_NONE (value)      186
POSIX_PRIO_PROTECT      186
pread (function)      354—355
Predicates, definition of      46
Predicates, loose      80
Predicates, wakeup      80—81
Predicates, waking waiters      81. See also Condition variables
printf (function)      15
prioceiling (attribute)      135—138
Priority ceiling      186—187 300
Priority inheritance and POSIX 1003.1c options      307
Priority inheritance, definition of      186
Priority inheritance, mutexes      188
Priority inheritance, priority inversion, avoidance of      300
Priority inversions, as a cost of threading      26—27
Priority inversions, as a realtime scheduling problem      184. See also Deadlocks
Priority inversions, avoidance of      299—300
Priority inversions, mutexes and priority scheduling      63
Process contention      181—185
Process exit      204
Processes, asynchronous      8
Processes, lightweight      1
Processes, threads, compared to      10 20
Processes, variable weight      1
Processors and blocked threads      42
Processors and thread implementation      190—195. See also Multiprocessors; Uniprocessors
Programs, examples of barriers      245—248 250—253
Programs, examples of cancellation      145—161
Programs, examples of client server      121—129
Programs, examples of condition variables, creating and destroying      74—76
Programs, examples of condition variables, timed condition wait      83—88
Programs, examples of condition variables, waiting on      78—80
Programs, examples of creating and using threads      38—39
Programs, examples of errors      32—34
Programs, examples of flockfile      205—207
Programs, examples of fork handlers      201—203
Programs, examples of initialization      133—134
Programs, examples of multiple processes      15—16
Programs, examples of multiple threads      17—19
Programs, examples of mutex attributes object      136
Programs, examples of mutexes, deadlock avoidance      66—69
Programs, examples of mutexes, dynamic      50—68
Programs, examples of mutexes, locking and unlocking      52—57
Programs, examples of mutexes, non-blocking locks      58—61
Programs, examples of mutexes, static mutex      50
Programs, examples of pipeline      99—105
Programs, examples of putchar      208—209
Programs, examples of read/write locks      255—269
Programs, examples of realtime scheduling      175—181
Programs, examples of sample information      13
Programs, examples of semaphore      238—240
Programs, examples of SIGEV_THREAD      232—234
Programs, examples of sigwait      228—230
Programs, examples of suspend and resume      218—227
Programs, examples of synchronous programming      13—15 27
Programs, examples of thread attributes      140—141
Programs, examples of thread inertia      292
Programs, examples of thread-specific      164—165 169—172
Programs, examples of user and terminal identification      211
Programs, examples of work crews      108—120
Programs, examples of work queue manager      271—283
protocol (attribute)      135—138 186
pshared (attribute)      135—138 204
pthread.h (header file)      13
PTHREADJEXPLICITJSCHED (value)      176 327—329
PTHREADJNHERIT_SCHED (value)      176 327—329
pthreadjoin (function) and attributes objects      139
pthreadjoin (function) and error checking      32
pthreadjoin (function) and memory visibility      89
pthreadjoin (function) and pthread_kill      225
pthreadjoin (function), cleaning up      158
pthreadjoin (function), creating and using threads      37—38
pthreadjoin (function), definition of      315
pthreadjoin (function), termination      43—44 128 145
pthread_abort (function)      361
pthread_atfork (function)      199 336
pthread_attr_destroy (function)      312
pthread_attr_getdetachstate (function)      312
pthread_attr_getguardsize (function)      353
pthread_attr_getinheritsched (function)      327
pthread_attr_getschedparam (function)      327
pthread_attr_getschedpolicy (function)      327—328
pthread_attr_getscope (function)      328
pthread_attr_getstackaddr (function)      312—313
pthread_attr_getstacksize (function)      135 139 313
pthread_attr_init (function)      139 313
pthread_attr_setdetachstate (function)      313
pthread_attr_setguardsize (function)      354
pthread_attr_setinheritsched (function)      176 329
pthread_attr_setschedparam (function)      175 329
pthread_attr_setschedpolicy (function)      175 329—330
pthread_attr_setscope (function)      182 330
pthread_attr_setstackaddr (function)      314
pthread_attr_setstacksize (function)      135 314
pthread_attr_t (datatype)      135 139 231
pthread_cancel (function) and pthreadjdll      217
pthread_cancel (function), asynchronous cancelability      151
pthread_cancel (function), deferred cancelability      148
pthread_cancel (function), definition of      323
pthread_cancel (function), termination      43 143—145
PTHREAD_CANCELED (value)      43 145
PTHREAD_CANCEL_ASYNCHRONOUS (value)      152 324
PTHREAD_CANCEL_DEFERRED (value)      145 147 324
PTHREAD_CANCEL_DISABLE (value)      145 149 324
PTHREAD_CANCEL_ENABLE (value)      147 324
pthread_cleanup_pop (function)      43 147 155 323
pthread_cleanup_push (function)      43 147 155 323
pthread_condattr_destroy (function)      319
pthread_condattr_getclock (function)      360
pthread_condattr_getpshared (function)      320
pthread_condattr_init (function)      137 320
pthread_condattr_setclock (function)      360
pthread_condattr_setpshared (function)      137 320
pthread_condattr_t (datatype)      135
pthread_cond_broadcast (function)      81 256 300 321
pthread_cond_destroy (function)      76 321
pthread_cond_init (function)      75 137 321
pthread_cond_signal (function)      81 300 322
pthread_cond_t (datatype)      74 137
pthread_cond_timedwait (function)      78 80 322
pthread_cond_wait (function)      77 85 322
pthread_create (function) and attributes objects      139
pthread_create (function) and multiple threads      17
pthread_create (function) and thread identifier      144—145 266
pthread_create (function), and memory visibility      89
pthread_create (function), creating and using threads      36—42 189
pthread_create (function), definition of      314
pthread_create (function), execution context      30
PTHREAD_CREATE_DETACHED (value)      44 125 139 231 312—313
PTHREAD_CREATE_JOINABLE (value)      139 231 312—313
PTHREAD_DESTRUCTORJTERATIONS (limit)      168 309
pthread_detach (function) and multiple threads      17
pthread_detach (function), cleaning up      158
pthread_detach (function), creating and using threads      37
pthread_detach (function), definition of      315
pthread_detach (function), termination      43—44
pthread_equal (function)      36 315
pthread_exit (function) and attributes objects      140
pthread_exit (function) and fork      197
pthread_exit (function) and memory visibility      89
pthread_exit (function) and multiple threads      17
pthread_exit (function), cleaning up      155
pthread_exit (function), creating and using threads      37—38
pthread_exit (function), definition of      204 315
pthread_exit (function), termination      30 40—44 53
pthread_getconcurrency (function)      352
pthread_getschedparam (function)      331
pthread_getspeciflc (function)      34 164 166 325
PTHREAD_KEYS_MAX (limit)      166 309
pthread_key_create (function)      163—166 325—326
pthread_key_delete (function)      166 326
pthread_key_t (datatype)      163—166
pthread_kill (function)      217—227 343
pthread_mutexattr_destroy (function)      316
pthread_mutexattr_getprioceiling (function)      332
pthread_mutexattr_getprotocol (function)      332—333
pthread_mutexattr_getpshared (function)      317
pthread_mutexattr_gettype (function)      350—351
pthread_mutexattr_init (function)      135 317
pthread_mutexattr_setprioceiling (function)      333
pthread_mutexattr_setprotocol (function)      186 333—334
pthread_mutexattr_setpshared (function)      136 317
pthread_mutexattr_settype (function)      351
pthread_mutexattr_t (datatype)      135
pthread_mutex_destroy (function)      51 318 350
PTHREAD_MUTEX_ERRORCHECK (value)      349
pthread_mutex_getprioceiling (function)      331
pthread_mutex_init (function) and attributes objects      135
pthread_mutex_init (function), creating and destroying mutexes      50—51
pthread_mutex_init (function), definition of      318
pthread_mutex_init (function), initialization of      132 186
pthread_mutex_init (function), standardization, future      350
PTHREAD_MUTEX_INITIALIZER (macro)      50—52 74—76
pthread_mutex_lock (function) and memory visibility      90 93
pthread_mutex_lock (function), asynchronous cancelability      151
pthread_mutex_lock (function), definition of      318
pthread_mutex_lock (function), lock hierarchy      64—65
pthread_mutex_lock (function), locking and unlocking      52 58
pthread_mutex_lock (function), mutexes, number of      303—304
pthread_mutex_lock (function), standardization, future      350
pthread_mutex_lock (function), XSHS mutex types      350
PTHREAD_MUTEX_NORMAL (value)      349
PTHREAD_MUTEX_RECURSIVE (value)      349
pthread_mutex_setprioceiling (function)      332
pthread_mutex_t (datatype)      49 62 136
pthread_mutex_trylock (function) and flockfile and funlockfile      207
pthread_mutex_trylock (function), creating and destroying mutexes      49
pthread_mutex_trylock (function), definition of      319
pthread_mutex_trylock (function), lock hierarchy      64—65
pthread_mutex_trylock (function), locking and unlocking      52 58
pthread_mutex_trylock (function), mutexes, number of      303—304
pthread_mutex_trylock (function), read/write locks      257
pthread_mutex_trylock (function), standardization, future      350
pthread_mutex_trylock (function), XSHS mutex types      350
pthread_mutex_unlock (function) and flockfile and funlockfile      207
pthread_mutex_unlock (function) and memory visibility      90
pthread_mutex_unlock (function), creating and destroying mutexes      49
pthread_mutex_unlock (function), definition of      319
pthread_mutex_unlock (function), lock hierarchy      64—65
pthread_mutex_unlock (function), locking and unlocking      52 58
pthread_mutex_unlock (function), mutexes, number of      303—304
pthread_mutex_unlock (function), standardization, future      350
pthread_mutex_unlock (function), XSHS mutex types      350
pthread_once (function) and thread races      295—296
pthread_once (function) in suspend/resume      220—221
pthread_once (function) or statically initialized mutex      132
pthread_once (function), initialization, condition variables      75
pthread_once (function), initialization, mutexes      50
pthread_once (function), thread-specific data      163—164
PTHREAD_ONCE_INIT (macro)      132
pthread_once_t (datatype)      132
PTHREAD_PRIOJNHERIT (value)      186 333—334
PTHREAD_PRIO_NONE (value)      333—334
PTHREAD_PRIO_PROTECT (value)      186 333—334
PTHREAD_PROCESS_PRTVATE (value)      136—137 317—320
PTHREAD_PROCESS_SHARED (value)      136—138 204 317—320
PTHREAD_SCOPE_PROCESS (value)      182 328—330
PTHREAD_SCOPE_SYSTEM (value)      182 328—330
pthread_self (function)      17 36—37 144—145 316
pthread_setcancelstate (function)      147 149 151 324
pthread_setcanceltype (function)      151 324
pthread_setconcurrency (function)      352—353
pthread_setschedparam (function)      334
pthread_setspecific (function)      166 326
pthread_sigmask (function)      215—216 343
pthread_spin_lock (function)      359
PTHREAD_STACK_MIN (limit)      139 309
pthread_t (datatype) and pthread_kill      217
pthread_t (datatype), creating and using threads      36—37 189 266
pthread_t (datatype), termination      43 144—145
pthread_t (datatype), thread-specific data      161—162
pthread_testcancel (function)      144—145 150 158 325
PTHREAD_THREAD_MAX (limit)      309
putc (function)      207
putchar (function)      6 207
putchar_unlocked (function)      207—209 338
putc_unlocked (function)      207—208 338
pwrite (function)      355
Races and condition variables      73
Races and memory visibility      91
Races, avoidance of      26—27
Races, overview      293—295
Races, raise (function)      217
Races, sequence race      284—285 295—297
Races, synchronization race      294—296
Races, thread inertia      291—293
Random number generation function      213
rand_r (function)      213 341
read/write locks      242 253—269 358
Read/write ordering      92—95
readdir_r (function) and work crews      107—109
readdir_r (function), definition of      339
readdir_r (function), directory searching      212
readdir_r (function), reentrancy      7 297
readdir_r (function), thread-safe function      210
Ready threads      39—42 53
Realtime scheduling and priority inversion      299—300 326
Realtime scheduling and synchronization      295
Realtime scheduling, allocation domain      181—183
Realtime scheduling, architectural overview      30
Realtime scheduling, contention scope      181—183
Realtime scheduling, definition of      7—8 172—173
1 2 3
blank
Ðåêëàìà
blank
blank
HR
@Mail.ru
       © Ýëåêòðîííàÿ áèáëèîòåêà ïîïå÷èòåëüñêîãî ñîâåòà ìåõìàòà ÌÃÓ, 2004-2024
Ýëåêòðîííàÿ áèáëèîòåêà ìåõìàòà ÌÃÓ | Valid HTML 4.01! | Valid CSS! Î ïðîåêòå