|
|
Àâòîðèçàöèÿ |
|
|
Ïîèñê ïî óêàçàòåëÿì |
|
|
|
|
|
|
|
|
|
|
Duffy J. — Concurrent Programming on Windows |
|
|
Ïðåäìåòíûé óêàçàòåëü |
Synchronization primitives, ISupportsCancelation 915
Synchronization primitives, LazyInit<T> 917—919
Synchronization primitives, ManualResetEventSlim 919—920
Synchronization primitives, SemaphoreSlim 920—921
Synchronization primitives, SpinLock 921—923
Synchronization primitives, SpinWait 923—924
Synchronization, inconsistent 549—550
Synchronization, lock free vs. lock-based algorithm and 519
Synchronization, never using thread suspension for 170
Synchronization, synchronization contexts in .NET 853—854
Synchronization, synchronization contexts in Windows 847—853
Synchronization, torn reads from flawed 490
Synchronization, two-phase locking protocols 767—769
Synchronization, Vista thread pool 341—342
Synchronization, Windows kernel see "Kernel synchronization"
SynchronizationContext 830 837 847—854
Synchronous aborts 109 111
Synchronous completion method 797—798
Synchronous I/O cancellation 823 824—825
Synchronous I/O, asynchronous I/O vs. 795
SyncLock 607
Synclock keyword 274 277—278
System affinity mask 172—173
System introduced reentrancy 559
System registry key 163
targetLock 592
Task parallel library see "TPL (task parallel library)"
Task parallelism 684—719
Task parallelism, dataflow parallelism 689
Task parallelism, defined 658
Task parallelism, fork/join parallelism 685—688
Task parallelism, futures used to build dataflow systems 689—692
Task parallelism, generalized pipeline data structure 712—716
Task parallelism, load balanced pipelines 716—717
Task parallelism, overview of 684—685
Task parallelism, pipelines 709—712
Task parallelism, pipelining output of futures or promises 698—702
Task parallelism, promises 693—695
Task parallelism, recursion 702—709
Task parallelism, resolving events to avoid blocking 695—698
Task parallelism, search algorithms and 718—719
TaskCreationOptions enum 891
TaskManagerPolicy, TPL 902—904
TaskManagers, TPL, defined 890
TaskManagers, TPL, overview of 902—904
TATAS locks 778
Taxonomy, concurrent program structure 6—8
Taxonomy, parallelism 9
TEB (thread environment block), as internal data structure 145—146
TEB (thread environment block), checking available stack space 148—150
TEB (thread environment block), printing out information 146
TEB (thread environment block), programmatically accessing 146—148
TEB (thread environment block), stack memory layout 135—138
TEB (thread environment block), thread creation details 152
TEB (thread environment block), thread scheduling and 881
TEB (thread environment block), thread state and 127
TEB address 121
Temporary boosting 164—167
Terminated thread state 156
TerminateProcess API, shutting down thread with brute force 103
TerminateProcess API, terminating process with 563
TerminateProcess API, terminating threads in Win32 113
TerminateProcess API, Windows Vista shutdown 564
TerminateThread API, abrupt termination with 113—114 153—154
TerminateThread API, overview of 107—109
TerminateThread API, specifying return code at termination 94
Termination, thread see "Threads termination
Testing, wait condition inside locks 878—879
The Banker's Algorithm 577—581
Thin lock 284
Third party in-process add-ins 563
Third party locks 873
Thread affinity, defined 87
Thread affinity, designing reusable libraries 866
Thread affinity, fibers and 433 447—449
Thread affinity, fibers and CLR 452—453
Thread class 98—101 132 160
Thread coordination 60—73
Thread coordination, control synchronization and 60—62
Thread coordination, events 66—68
Thread coordination, message passing 71—73
Thread coordination, monitors and condition variables 68—70
Thread coordination, state dependence among threads 61—62
Thread coordination, structured parallelism 70—71
Thread coordination, waiting for something to happen 63—66
Thread environment block see "TEB (thread environment block)"
Thread Information Block (TIB) 145
Thread injection 378—379
thread local storage see "TLS (thread local storage)"
Thread management, CLR thread pool 377—386
Thread management, CLR thread pool, deadlocks from low maximum 382—385
Thread management, CLR thread pool, delays from low minimum 385—386
Thread management, CLR thread pool, minimum and maximum threads 379—382
Thread management, CLR thread pool, thread injection and retirement algorithm 378—379
Thread management, legacy Win32 thread pool 363—364
Thread management, Vista thread pool 347—350
Thread pools 315—398
Thread pools, CLR see "CLR thread pool"
Thread pools, I/O callbacks 319—321
Thread pools, introduction to 316—317
Thread pools, legacy Win32 see "Win32 legacy thread pool"
Thread pools, overview of 315—316
Thread pools, performance improvements of 391—397
Thread pools, registered waits 322—323
Thread pools, timers 321—322
Thread pools, UMS scheduler vs. 454
Thread pools, using explicit threading vs. 88
Thread pools, Windows Vista see "Windows Vista thread pool"
Thread pools, work callbacks 319
Thread pools, writing own 318—319
thread safety 662
Thread scheduler, Windows, advantages of fibers 432
Thread scheduler, Windows, blocks and 83—84
Thread scheduler, Windows, CPU affinity 170—179
Thread scheduler, Windows, defined 81—82
Thread scheduler, Windows, disadvantages of fibers 433—434
Thread scheduler, Windows, functions of 83
Thread scheduler, Windows, ideal processor 179—180
Thread scheduler, Windows, priority and quantum adjustments 164—167
Thread scheduler, Windows, priority based 155
Thread scheduler, Windows, programmatically creating threads 89
thread scheduling 154—180
Thread scheduling, advantages of fibers 432
Thread scheduling, CPU affinity 170—179
Thread scheduling, disadvantages of fibers 433—434
Thread scheduling, ideal processor 179—180
Thread scheduling, multimedia scheduler 167
Thread scheduling, overview of 154—155
Thread scheduling, priorities 159—163
Thread scheduling, priority and quantum adjustments 164—167
Thread scheduling, quantums 163—164
Thread scheduling, sleeping and yielding 167—168
Thread scheduling, suspension 168—170
Thread scheduling, thread states 155—159
Thread start routine 89—90 103
thread state 127—145
Thread state, defined 158
Thread state, stack memory layout 133—140
Thread state, stack overflow 140—145
Thread state, stack reservation and commit sizes 130—133
Thread state, thread scheduling and 155—159
Thread state, user-mode thread stacks 127—130
Thread.Doin 100—101 885
Thread.MemoryBarrier 514
Thread.Sleep API 167—168 882—883 885
Thread.VolatileRead method 514
ThreadAbortException 104
Threading models, GUI, overview of 830—833
Threading models, GUI, single threaded apartments (STAs) 833—836
ThreadlnterruptedException 208
| ThreadPriority, TaskManagerPolicy 903
threads 79—125
Threads, asynchronous I/O cancellation for any 825—826
Threads, asynchronous I/O cancellation for current 823—824
Threads, CLR 85—87
Threads, contexts 151—152
Threads, converting into fibers 438—439
threads, creating 152—153
Threads, creating and deleting in Vista thread pool 347—350
Threads, designing reusable libraries 879—881
Threads, determining whether fibers are 439—440
Threads, DLLMain function 115—117
Threads, explicit threading and alternatives 87—88
Threads, fibers vs. 430—431
Threads, internal data structures 145—151
Threads, local storage 117—124
Threads, marshaling exceptions across 721—724
Threads, overview of 79—81
Threads, programmatically creating 89—90
Threads, programmatically creating in .NET Framework 98—101
Threads, programmatically creating in C programs 96—98
Threads, programmatically creating in Win32 90—96
Threads, routines, user-mode scheduler 459—460
Threads, scheduling 154—180
Threads, state see "Thread state"
Threads, synchronous I/O cancellation for 824—825
threads, terminating 153—154
Threads, termination methods 101—114
Threads, termination methods, defined 83
Threads, termination methods, details of 153—154
Threads, termination methods, ExitThread and TerminateThread 107—109
Threads, termination methods, overview of 101—103
Threads, termination methods, process exit 113—115
Threads, termination methods, returning from thread start routine 103
Threads, termination methods, thread aborts for managed code 109—113
Threads, termination methods, unhandled exceptions 103—106
Threads, Windows 81—85
ThreadState property 157
ThreadStaticAttribute type, TLS 121—122
ThreadWorkRoutine method, building UMS 459—460
Thresholds, stopping parallel recursion 706
TIB (thread information block) 145
TimeBeginPeriod API 168
TimeEndPeriod API 168
Timeouts, .NET Framework monitors 309—310
Timeouts, calling AsyncWaitHandles' WaitOne 407—410
Timeouts, condition variables 306
Timeouts, detecting deadlocks 594
Timer class 371—374
Timer class, CLR thread pool 372—374
Timer queue 356—359
TimerCallback, CLR thread pool 372
timers see also "Waitable timers"
Timers, CLR thread pool 371—374
Timers, legacy Win32 thread pool 356—359
Timers, overview of 321—322
Timers, Vista thread pool 330—334
Timeslice 83 see
TimeSpan value, WaitHandle class 206
Timing, and concurrent programs 24—29
TLS (thread local storage) 117—124
TLS (thread local storage), accessing through .NET Framework 880
TLS (thread local storage), creating threads in C programs 96
TLS (thread local storage), fiber local storage vs. 445—447
TLS (thread local storage), managed code 121—124
TLS (thread local storage), overview of 117
TLS (thread local storage), Win32 118—121
TlsAlloc API 118—119
TlsFree function 119
TlsGetValue API 118—119
TlsSetValue API 118—119
TLS_OUT_OF_INDEXES errors 118—119
Torn reads 487—490 491—492
TPL (task parallel library) 888—910
TPL (task parallel library), cancellation 897
TPL (task parallel library), continuations 900—902
TPL (task parallel library), defined 887
TPL (task parallel library), futures 898—900
TPL (task parallel library), overview of 888—893
TPL (task parallel library), parents and children 895—897
TPL (task parallel library), putting it all together 904—909
TPL (task parallel library), self-replication 909—910
TPL (task parallel library), task managers 902—904
TPL (task parallel library), unhandled exceptions 893—895
TP_TIMER objects 330—331
TP_WORK objects 326—328 330—334
Traces, stack 138—140
Transfer, of data ownership 33—34
Transition thread state 156
Transitive causality 483 511
Tread.ResetAbort API 110
TreadAbortExceptions 110
True dependence 485
True waiting 64—65
Try/finally block 273—275
TryAndPerform method, linked lists 621 624
TryEnter method, CLR locks 275—276
TryEnterCriticalSection 263—266
TrySignalAndWait 653—654
TrySteal, work stealing queue 637 639—640
TrySubmitThreadpoolCallback API, Vista thread pool 324—328
Two-phase locking protocols 767
Two-step dance 606—608
Type objects 278—281 873—874
TypeLoadException 492
Ulong 134
UMS (user-mode scheduler), advantages of fibers 431—432
UMS (user-mode scheduler), building 453—473
UMS (user-mode scheduler), building, context switches 464—470
UMS (user-mode scheduler), building, cooperative blocking 461—463
UMS (user-mode scheduler), building, dispatching work 461
UMS (user-mode scheduler), building, fiber pool data structures 455—459
UMS (user-mode scheduler), building, overview of 453—455
UMS (user-mode scheduler), building, queueing work 463—464
UMS (user-mode scheduler), building, shutdown 470—472
UMS (user-mode scheduler), building, stack vs. stackless blocking 472—473
UMS (user-mode scheduler), building, thread and fiber routines 459—460
UMS (user-mode scheduler), defined 430
Unhandled exceptions, overriding default behavior 105—106
Unhandled exceptions, task parallel library 893—895
Unhandled exceptions, terminating threads 103—105
UnhandledExceptionsAreFatal flag, TPL 893
UNIX 80
UnregisterWait(Ex) 362—363
unrepeatable reads 28
UnsafePack, CLR thread pool 370
UnsafeQueueUserWorkltem, CLR thread pool 364—366 371
UnsafeRegisterWaitForSingleObject, CLR thread pool 375
Unstarted thread state 157
Unstructured concurrency 896—897
Upgrading, legacy RWLs 302—303
Upgrading, ReaderWriterLockSlim 294—297
User experience, and concurrency 4
User-mode APCs 208 209—210
User-mode scheduler see "UMS (user-mode scheduler)"
User-mode scheduling 87
User-mode stacks 82
User-mode stacks, allocated when creating new fibers 436
User-mode stacks, overview of 127—130
User-mode stacks, reservation and commit sizes of 130—133
User-mode stacks, thread creation and 153
V (releasing), semaphores 42
VADUMP.EXE 135
VB Sync Lock statement 870
VC++, creating fences in 514—515
VC++, process shutdown 565—567
Virtual memory 130—133
VirtualAlloc function 138 143
VirtualQuery Win32 function 149—151
volatile variable, creating fences 513—514
|
|
|
Ðåêëàìà |
|
|
|