|
|
Àâòîðèçàöèÿ |
|
|
Ïîèñê ïî óêàçàòåëÿì |
|
|
|
|
|
|
|
|
|
|
Duffy J. — Concurrent Programming on Windows |
|
|
Ïðåäìåòíûé óêàçàòåëü |
!threadpool SOS extension command 386—387
!vadump command 135—138
"Myths about the Mutual Exclusion", Peterson 53
.NET Framework Asynchronous GUI, asynchronous operations 855—856
.NET Framework Asynchronous GUI, BackGroundWorker package 856—860
.NET Framework Asynchronous GUI, overview of 837
.NET Framework Asynchronous GUI, synchronization contexts 847—854
.NET Framework Asynchronous GUI, Windows Forms 837—840
.NET Framework Asynchronous GUI, Windows Presentation Foundation 840—846
.NET Framework asynchronous I/O, asynchronous device/file I/O 817—819
.NET Framework asynchronous I/O, asynchronous sockets I/O 820—822
.NET Framework asynchronous I/O, I/O cancellation 823
.NET Framework asynchronous I/O, overview of 817
.NET Framework, avoiding building locks 873
.NET Framework, creating fences 98—101 514
.NET Framework, creating threads 152—153
.NET Framework, dictionary (hashtable) 626—631
.NET Framework, event-based asynchronous pattern in 426—427
.NET Framework, legacy reader/writer lock 300—304
.NET Framework, memory models 516—518
.NET Framework, monitors 309—312
.NET Framework, slim reader/writer lock (3.5) 293—300
.NET Framework, synchronization contexts 853—854
.NET Framework, terminating threads see "Threads termination
.NET Framework, timers 373
.NET Framework, using APM in 418—419
/F switch, PE stack sizes 132
/STACK switch 132
128-bit interlocked operations 500—502
64-bit Values 499—500
ABA problem 536—537
Abandoned mutexes 217—219
AbandonedMutexException 205
Abort API 109—110
Aborts, thread 109—113
Account identifiers, lock levels 583—584
Acquire fence 512
AcquireReaderLock 300
AcquireSRWLockExclusive 290
AcquireSRWLockShared 290
AcquireWriterLock 300
Actions, TPL 890
Actual concurrency 5
Add method, dictionary 631
AddOnPrerenderCompleteAsync 420—421
Affinity see "CPU affinity"
Affinity masks 172—173 176—178
Agents, concurrent program structure 6
Agents, data ownership and 33—34
Agents, style concurrency 79—80
AggregateException class, TPL 893—895
Aggregating multiple exceptions 724—729
Alertable waits, asynchronous procedure calls and 209
Alertable waits, defined 85
Alertable waits, kernel objects and 188
Alertable waits, overview of 193—195
Algorithms, cooperative and speculative 719
Algorithms, dataflow 689
Algorithms, natural scalability of 760—761
Algorithms, recursive 702—703
Algorithms, scalability of parallel 666
Algorithms, search 718—719
algorithms, sorting 681
Alignment, load/store atomicity and 487—492
Alignment, reading from or writing to unaligned addresses 23
AllocateDataSlot 123
AllocateNamedDataSlot 123
AMD64 architecture 509—511
Amdahlis Law 762—764
Antidependence 486
Apartment threading model, COM 197
APC callback 806—808
APCs (asynchronous procedure calls), kernel synchronization and 208—210
APCs (asynchronous procedure calls), lock reliability in managed code and 878
APCs (asynchronous procedure calls), overview of 84—85
APM (Asynchronous Programming Model) 400—419
APM (asynchronous programming model), ASP.NET asynchronous pages and 420—421
APM (asynchronous programming model), callbacks 412—413
APM (asynchronous programming model), calling AsyncWaitHandle WaitOne 407—410
APM (asynchronous programming model), calling EndFoo directly 405—407
APM (Asynchronous Programming Model), defined 399
APM (asynchronous programming model), designing reusable libraries with 884—885
APM (asynchronous programming model), implementing IAsyncResult 413—418
APM (asynchronous programming model), overview of 400—403
APM (asynchronous programming model), polling IsCompleted flag 411
APM (asynchronous programming model), rendezvousing 4 ways 403—405
APM (asynchronous programming model), using in .NET Framework 418—419
AppDomain.ProcessExit event 116
AppDomains, designing library locks 870 873—874
AppDomains, fine-grained message passing support 72
AppDomains, intraprocess isolation 32
AppDomains, locking on agile objects 278—281
AppDomains, safety of thread aborts 111
AppDomains, using kernel objects for synchronization 188
AppDomainUnloadedException 104 111
Application bugs 140—141
ApplicationException 301—302
Architecture, concurrent program 6—8
Arrays, fine-grained locking 616
AsOrdered, PLINQ 914
ASP.NET asynchronous pages 420—421
Assemblies, and lock orderings 584
AsUnordered, PLINQ 914—915
Async prefix 400 421—422
AsyncCompletedEventArgs class 423
AsyncCompletedEventHandler event 423
Asynchronous aborts 109 112—113
Asynchronous exceptions 281—282 298—299
Asynchronous I/O see also "Overlapped I/O"
Asynchronous I/O, benefits of 787
Asynchronous I/O, cancellation 822—826
Asynchronous operations, .NET Framework 855—856
Asynchronous operations, concurrent programs 6
Asynchronous pages, ASP.NET 420—421
Asynchronous procedure calls see "APCs (asynchronous procedure calls)"
Asynchronous programming models, APM see "APM (asynchronous programming model)"
Asynchronous programming models, ASP.NET asynchronous pages 420—421
Asynchronous programming models, event-based asynchronous pattern 421—427
Asynchronous programming models, overview of 399—400
AsynchronousOperationManager 830 837
AsyncOperationManager 855—856
AsyncWaitHandle, APM 404 407—410 416
atexit/_oneexit function 113
Atomic loads 487—492 499—500
Atomic stores 487—492 499—500
Atomicity, managing state with 29—30
Auto-reset events 226—234
Auto-reset events, creating and opening 228—230
Auto-reset events, implementing queue with 244—245
Auto-reset events, overview of 226—227
Auto-reset events, priority boosts and 232—234
Auto-reset events, setting and resetting 230—231
Auto-reset events, signaled/nonsignaled state transition 186
Auto-reset events, WAIT_ALL and 231—232
AutoBuffered merge, PLINQ 913—914
AutoResetEvent 228—229
background threads 103
BackgroundWorker 400 426 856—860
Bakery algorithm 54—55
Balance set manager 165 609
bAlertable argument 209
Barriers, phased computations 650—654
Batcheris bitonic sort 681
Begin prefix, APM 399
BeginFoo method, APM 401—402 405—407
BeginInvoke 838—839
BeginThreadAffinity 880
Benign race conditions 549 553—555 621
Binary semaphores 42
BindHandle method, I/O completion ports 369—370
| BindIoCompletionCallback routine, I/O completion ports 359—360
bInheritHandle parameter, CreateThread 95
Bit-masks 172
Bit-test-and-reset (BTR) 502—503
Bit-test-and-set (BTS) 502—503
Bitness, load/store atomicity 487
Block routine, UMS 461—463
Blocking queues with condition variables 307—309 644—646
Blocking queues with events 243—244
Blocking queues with monitors 310—311 642—644 646—650
Blocking queues, mutex/semaphore example 224—226
Blocking queues, producer/consumer data structures 641
Blocking queues, using BlockingCollection<T> 925—928
BlockingCollection<T> 925—928
Blocks, thread, building UMS and 461—463
Blocks, thread, canceling calls 730
Blocks, thread, CLR locks avoiding 275—277
Blocks, thread, critical sections avoiding 263—266
Blocks, thread, data parallelism and 665
Blocks, thread, dataflow parallelism avoiding 695—698
Blocks, thread, designing reusable libraries 884—885
Blocks, thread, disadvantages of fibers 433—434
Blocks, thread, existing APIs for 885
Blocks, thread, lock free algorithms 519
Blocks, thread, producer/consumer data structures 642
Blocks, thread, reasons for 83
Blocks, thread, spin waiting and 767
Blocks, thread, stack vs. stackless 472—473
body delegate 662 757
BOOL bAlertable parameter, alertable waits 193—195
Bounded buffer 641
Bounded queues, overview of 646—650
Bounded queues, using BlockingCollection<T> 925—928
BOUNDING 642
BTR (bit-test-and-reset) 502—503
BTS (bit-test-and-set) 502—503
Buffering, in PLINQ 912—914
Busy spin waiting 63—64 65
BWaitAll argument 191
C programs, coordination containers 646—650
C programs, creating threads in 90 96—98
C programs, creating threads in .NET Framework 100—101
C programs, DllMain function in 116—117
C programs, terminating threads see "Threads termination
C Runtime Library (CRT) 90 96—98
C++ Programming Language, Third Edition 36
Cache coherency 479
Cache, using isolated state as 32
CallbackMayRunLong 349
Callbacks, fiber local storage and 446
Callbacks, implementing IAsyncResult 416
Callbacks, rendezvous technique 412—413
Callbacks, Vista thread pool 334—336 347—351
Cancel function, TPL 897
CancelAndWait function, TPL 897
CancelAsync method 425
Cancellation, asynchronous I/O 822—826
Cancellation, asynchronous operations 729—731
Cancellation, event-based asynchronous pattern 425
Cancellation, task parallel library 897
CancelWaitableTimer 236
CAS (compare and swap) hardware, ABA problem and 536—537
CAS (compare and swap) hardware, implementing 496—499
CAS (compare and swap) hardware, lock free FIFO queue and 635—636
CAS (compare and swap) hardware, modifying memory location atomically in 492
Casual dependence, among threads 62
CCR (Coordination and Concurrency Runtime), fine-grained message passing 73
CCR (Coordination and Concurrency Runtime), message-based parallelism 719
CCR (Coordination and Concurrency Runtime), stackless and nonblocking programs 473
Change methods, CLR 373—374
CheckForSufficientStack 149—151
Children, task parallel library 895—897
Circular waits 575 577
Cleanup groups, Vista 343 345—347
CloseHandle API, CreateMutex 214—215
CloseThreadPool, Vista 344
CloseThreadPoolCleanupGroup, Vista 347
CloseThreadPoolCleanupGroupMembers, Vista 346—347
CloseThreadpoolIo, Vista 336
CloseThreadpoolTimer, Vista 333
CloseThreadpoolWait, Vista 339—340 341—342
CloseThreadpoolWork, Vista 327 329
CLR see also "Managed code"
CLR thread pool 364—391
CLR thread pool, case study 387—391
CLR thread pool, debugging 386—387
CLR thread pool, fine-grained concurrency with 884
CLR thread pool, I/O completion ports 368—371
CLR thread pool, no ownership of threads in 377
CLR thread pool, overview of 317—319 364
CLR thread pool, performance of 391—397
CLR thread pool, registered waits 374—377
CLR thread pool, thread management in 377—386
CLR thread pool, timers 371—374
CLR thread pool, work items 364—368
CLR, .NET memory models 517
CLR, avoiding locks 873
CLR, fibers and 449—453
CLR, garbage collection 766
CLR, lazy initialization in .NET and 521—526
CLR, process shutdown 116 569—571
CLR, reaction to stack overflow 141—142
CLR, reader/writer locks 254—255 300—304
CLR, single assignment variables 35—36
CLR, threads 85—87
CLR, unhandled exceptions in 104
CLR, waiting for managed code 206—208
CMPXCHG variant 496—499 500—502
Coarse-grained critical regions 45—47 550—553
Coarse-grained locks 256—257 583 614
cobegin statement, structured parallelism 70
Code motion 478—479
Coffman conditions 576—577
COM, APIs for waiting 186
COM, how CLR waits for managed code 207
COM, message pumping 195—201 202—204
COM, Single Threaded Apartments 833—834
COM, using kernel objects 188
CoMarshallnterface API 197
Commit size, thread stacks, memory layout 138
Commit size, thread stacks, overflow 140—145
Commit size, thread stacks, overview of 130—133
Communicating Sequential Processes (CSP) 71—72
Compare and exchange 496—499
Compare and swap see "CAS (compare and swap) hardware"
Compiler, .NET Framework memory models 517
Compiler, creating fences in VC++ at level of 514—515
Compiler, load/store atomicity and 490—492
CompilerServices 274—275
Completed suffix 422
CompletedSynchronously, APM 417
Composite actions 550—553
Concurrency 3—12
Concurrency of parallel containers 614
Concurrency of Vista thread pool 348
Concurrency, agents-style 80
Concurrency, hazards see "Correctness hazards" "Liveness
Concurrency, importance of 3—5
Concurrency, layers of parallelism 8—10
Concurrency, limitations of 10—11
Concurrency, program architecture and 6—8
Concurrency, unstructured 896—897
Concurrent collections, BlockingCollection<T> 925—928
Concurrent collections, ConcurrentQueue<T> 928—929
Concurrent collections, ConcurrentStack<T> 929
Concurrent collections, defined 924
Concurrent exceptions 721—729
Concurrent exceptions, aggregating multiple exceptions 724—729
Concurrent exceptions, marshaling exceptions across threads 721—724
Concurrent exceptions, overview of 721
|
|
|
Ðåêëàìà |
|
|
|