|
|
Àâòîðèçàöèÿ |
|
|
Ïîèñê ïî óêàçàòåëÿì |
|
|
|
|
|
|
|
|
|
|
Duffy J. — Concurrent Programming on Windows |
|
|
Ïðåäìåòíûé óêàçàòåëü |
Recursion, rules controlling 558
Recursion, task parallelism and 702—709
Recursive acquires, avoiding lock 872
Recursive acquires, example of 557—558
Recursive acquires, mutex support for 217
Recursive acquires, overview of 556—557
Recursive acquires, ReaderWriterLockSlim 297—298
Recursive acquires, SRWLs non-support for 292—293
Recursive acquires, using 558—561
Recursive algorithms 558—559
Recursive locks 556
RecursiveReadCount, ReaderWriterLockSlim 295
RecursiveUpgradeCount, ReaderWriterLockSlim 295
RecursiveWriteCount, ReaderWriterLockSlim 295
Reduction, in data parallelism 678—681
Reentrancy, caused by pumping 203
Reentrancy, concurrency causing 11
Reentrancy, lock reliability and 877—878
Reentrancy, overview of 555—556
Reentrancy, system introduced 559—561
Registered waits, CLR thread pool 374—377
Registered waits, legacy Win32 thread pool 360—363
Registered waits, thread pools and 322—323
Registered waits, Vista thread pool 336—341
RegisteredWaitHandle, CLR 376
RegisterWaitForSingleObject, building user-mode scheduler 466—467
RegisterWaitForSingleObject, CLR thread pool 375
RegisterWaitForSingleObject, legacy thread pool 360—361
Relative priority, individual threads 159
Release fence 512
Release-followed-by-acquire-fence hazard 515
releaseCount argument 224
ReleaseLock, legacy RWLs 301
ReleaseMutex 215—216
ReleaseMutexWhenCallbackReturns 350
ReleaseSemaphore 223—224
ReleaseSemaphoreWhenCallbackReturns 351
ReleaseSRWLockExclusive 290 293
Reliability, designing library locks 875—879
Reliability, designing reusable libraries 875—879
Reliability, lock freedom and 519—520
Remove, dictionary 631
Rendezvous methods, asynchronous I/O, APC callback 806—808
Rendezvous methods, asynchronous I/O, event handler 802—805
Rendezvous methods, asynchronous I/O, I/O completion ports 808—813
Rendezvous methods, asynchronous I/O, overview of 792 796
Rendezvous methods, asynchronous I/O, polling 798—800
Rendezvous methods, asynchronous I/O, synchronous 797—798
Rendezvous methods, asynchronous I/O, wait APIs 800—802
Rendezvous patterns, ATM 403—405
Reserve size, threads, creating stack overflow 140—145
Reserve size, threads, overview of 130—133
Reserve size, threads, stack memory layout 138
ResetEvent 230
Responsiveness, GUI 834—836
RestoreLock, legacy RWLs 301
Resume, Thread class 140
ResumeThread 91
ResumeThreat 169
retirement algorithm 378—379
RGleaseSRWLockShared 290 293
Rude shutdowns 563
Rude thread aborts 112
run method 831
RunClass Constructor 877—878
Running state, threads 155 158—159
Runtime Callable Wrappers (RCWs) 575
Runtime, fibers and CLR 450—453
RuntimeHelpers.ProbeForSufficientStack 144 149
RuntimeHelpers.RunClass Constructor 877—878
RWLs (reader/writer locks) 287—304
RWLs (reader/writer locks), .NET Framework legacy 300—304
RWLs (reader/writer locks), .NET Framework slim 293—300
RWLs (reader/writer locks), defined 28
RWLs (reader/writer locks), defining 254—255
RWLs (reader/writer locks), overview of 287—289
RWLs (reader/writer locks), read-only synchronization using 881—882
RWLs (reader/writer locks), Windows Vista SRWL 288 289—293
SafeHandles 90
Scalability of parallel algorithms 666
Scalability, asynchronous I/O and 787—788
Scalability, designing reusable libraries for 881—884
Scalability, garbage collection and 766—767
Scalability, speedups vs. natural 760—761
Scalable access, of parallel containers 613
Scans, and data parallelism 681
Schedules, thread 878—879
Scheduling 879—881 see Windows" "Thread
Search Algorithms 718—719 730
Security, creating threads in .NET 99
Security, creating threads in Win32 90
Security, using kernel objects 188
SEH (Structured Exception Handling) 104—106 721
Self-replication, TPL 909—910
Semaphores 219—226
Semaphores, creating and opening 220—222
Semaphores, designing library locks 874
Semaphores, mutex/semaphore example 224—226
Semaphores, overview of 42 219—220
Semaphores, signaled/nonsignaled state transition 186
Semaphores, taking and releasing 223—224
Semaphores, Vista thread pool completion tasks 351
Semaphores, waiting and 185
SemaphoreSlim 920—921
Sense-reversing barriers 650
Sentinel nodes, FIFO queues 617—618
Sequential programming 727—728
Serializability 30
Serializable history 25
Serialized threads 25
Servers, garbage collection 766—767
SetCriticalSectionSpinCount 264—265
SetData, TLS 123
SetErrorMode 105
SetEvent 230
SetMaxThreads, Vista 381
SetPriorityClass 159
SetProcessAffinityMask, CPU affinity 173—175
SetThreadAffinityMask, CPU affinity 174
SetThreadContext 151
SetThreadpoolCallbackRunLong, Vista 349—350
SetThreadPoolMaximum, legacy 363
SetThreadPoolMaximum, Vista 344 348 353
SetThreadPoolMinimum, Vista 344—345 348 353
SetThreadpoolTimer, Vista 330—333
SetThreadpoolWait, Vista 337—338 340
SetThreadPriority 160 162 352
SetThreadPriorityBoost 165
SetThreadStackGuarantee 134—135 136—137 142
SetWaitableTimer 236—237
SFENCE (store fence) 512
Shallow immutable objects 34
Shared mode, ReaderWriterLockSlim 294—295
Shared resources, among threads 80—81
shared state 14—19
SharedReaderLock method 300
SharedWriterLock method 300
Shutdown method 470—471
Shutdown, building UMS 470—472
Signaled events 67
Signaled, vs. nonsignaled kernel objects 184—185
SignalObjectAndWait, blocking queue data structure with auto-reset 244—248
SignalObjectAndWait, blocking queue data structure with events 243—244
SignalObjectAndWait, overview of 241—243
SimpleAsyncResult class, APM 413—418
Simultaneous multilock acquisition 578—581
Single assignment 34—38
Single threaded apartments see "STAs (single threaded apartments)"
Singleton class 521—523
Sleep API 168
| SleepConditionVariableCS 305—306
SleepConditionVariableSRW 305—306
SleepEx API 168
Sleeping, condition variables and 305—307
Sleeping, thread scheduling and 167—168
Slim reader/writer locks see "SRWLs (slim reader/writer locks)"
SLists (singly linked lists) 538—540
SLIST_ENTRY data structure 538—540
Socket class, APM 419
Sockets, asynchronous sockets I/O in .NET 820—822
Sockets, asynchronous sockets I/O in Win32 814—817
software interrupts 84—85
someLock 598—601
Sort key, simultaneous multilock acquisition 579—581
Sorting 681—684
SOS debugging extensions 285—287 386—387
SoundPlayer, System.dll assembly 427
Speculative search algorithms 719
Speedup, Amdahlis Law 762—764
Speedup, critical paths 764—765
Speedup, deciding to igo paralleli 756—758
Speedup, garbage collection and scalability 766—767
Speedup, Gustafsonfs Law 764
Speedup, load imbalances and 765—766
Speedup, measuring 758 761—762
Speedup, natural scalability vs. 760—761
Speedup, overview of 756
Speedup, types of 758—760
Spin locks for performance scalability 873 883
Spin locks on Windows 769—772
Spin locks, building 921—923
Spin locks, difficulty of implementing 769
Spin locks, Mellor — Crummey — Scott 778—781
Spin waiting, avoiding blocking in CLR locks 276—277
Spin waiting, avoiding blocking in critical sections 264—266
Spin waiting, avoiding hand coding 882
Spin waiting, defining 63—64
Spin waiting, Mellor — Crummey — Scott (MSC) locks 778—781
Spin waiting, overview of 767—769
Spin waiting, spin-only locks and 772—778
Spin waiting, SRWLs 290
Spin waiting, Windows OSs and 769—772
Spin-only locks 772—778
Spinlock 921—923
SpinWait 923—924
Spurious wake-ups 311—312 598
SQL Server, fiber-based UMS 86—87
SqlCommand type, APM 419
SRWLOCK 290—292
SRWLs (slim reader/writer locks), .NET Framework 293—300
SRWLs (slim reader/writer locks), integration with Windows Vista condition variables 304—309
SRWLs (slim reader/writer locks), Windows Vista 288 289—293
SSA (static single assignment) 34—38
Stack limit 133 135—138
Stack memory layout 133—140
Stack memory layout, example of 135—138
Stack memory layout, guaranteeing committed guard space 134—135
Stack memory layout, overview of 133—134
Stack memory layout, stack traces 138—140
Stack space 133 135—138
stack traces 138—140
stackalloc keyword 141
StackBase field, TEB 147 149
StackLimit field, TEB 147 149
StackOverflowException 142
Stacks, ABA problem and 536—537
Stacks, creating new fibers 436
Stacks, implementing custom nonblocking 534—536
Stacks, overflow 140—145
Stacks, overview of 82—83
Stacks, reservation and commit sizes 130—133
Stacks, user-mode 127—130
StackTrace class 140
Stale read 28
Stampedes 605—606
Standby thread state 155—156
START command, CPU affinity 175
Start method, Thread class 99
StartNew methods, TPL 890
StartThreadpoolIo function, Vista 335—336
Starvation 608—609 878
STAs (single threaded apartments), deadlocks and 574—575
STAs (single threaded apartments), overview of 833—836
STAs (single threaded apartments), system introduced reentrancy and 560—561
State 14—38
State in concurrent programs 6—8
State, atomicity 29—30
State, broken invariants and invalid states 20—21
State, dependency 61—62
State, fiber execution and 430—431
State, general approaches to 14
State, identifying shared vs. private 15—19
State, immutability 34—38
State, isolation 31—34
State, linearizability 30—31
State, overview of 14—15
State, serializability 30
State, simple data race 22—29
State, state machines and time 19—20
STAThreadAttribute 835
Static decomposition, continuous iterations and 663
Static decomposition, data parallelism and 662—663
Static decomposition, flaws in 666
static methods, BlockingCollection<T> 927—928
Static single assignment (SSA) 34—38
Static TLS 118 120—122
static variables 867—868
STATUS_GUARD_PAGE_VIOLATION exception 134
std:: iterator objects (C++) 672
stopped state, threads 158
Store atomicity 487—492
Store fence (SFENCE) 512
Store-after-load dependence 486
Store-after-store dependence 485—486
Stores of 64-bit values 499—500
Stores, .NET Framework memory models 516—518
Stores, atomic 487—492 499—500
Stores, hardware memory models and 510
Stream class, APM 419
Strict alternation, Dekker's algorithm vs. 50—51
Strict alternation, failure of in modern processors 58—59
Strict alternation, overview of 49—50
Striped iterations 667—669
Striping 614—615
strtok function 96
Structured Exception Handling (SEH) 104—106 721
Structured fork/join 687
Structured parallelism 70—71
Structured tasks 896
Sublinear speedups 758—760
SubmitThreadpoolWork API, Vista 326—330
Superlinear speedups 719 758—760
Suspend, Thread class 140
Suspended state, threads 158—159
SuspendThreat 169
Suspension, thread, overview of 91
Suspension, thread, stack trace and 140
Suspension, thread, using in scheduling 168—170
Swallowing exceptions, CLR 105
SwitchToFiber 440—441 443—445 466
SwitchToThread API 168
Sychronizes-with mechanism 509—510
Synchronization and time 13—75
Synchronization and time, control see "Control synchronization"
Synchronization and time, data see "Data synchronization"
Synchronization and time, managing program state see "State"
Synchronization and time, overview of 13—14 38—40
Synchronization burden 7—8
Synchronization primitives 915—924
Synchronization primitives, CountdownEvent 915—917
|
|
|
Ðåêëàìà |
|
|
|