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

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

blank
blank
blank
Êðàñîòà
blank
Duffy J. — Concurrent Programming on Windows
Duffy J. — Concurrent Programming on Windows



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



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


Íàçâàíèå: Concurrent Programming on Windows

Àâòîð: Duffy J.

Àííîòàöèÿ:

Simply put, Joe Duffy is a world-wide authority on this topic. I don't just say that based on working with him (his office was 5 offices down the hall from mine), but also based on the conversations I've seen him dominate with other visionaries inside of Microsoft. If you don't take my word for it, just look at how elegant the Parallel Extensions to the .NET framework are that Joe was the dev lead and architect on. If you want to see examples of how clearly he can put his thoughts to writing, just visit his blog (http://www.bluebytesoftware.com/). 5 stars are not enough for this seminal piece of work.


ßçûê: en

Ðóáðèêà: Computer science/

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

ed2k: ed2k stats

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

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

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

Îïåðàöèè: Ïîëîæèòü íà ïîëêó | Ñêîïèðîâàòü ññûëêó äëÿ ôîðóìà | Ñêîïèðîâàòü ID
blank
Ïðåäìåòíûé óêàçàòåëü
ConcurrentQueue<T>      928—929
ConcurrentStack<T>      929
Condition variables, .NET Framework monitors      68—70 309—312
Condition variables, C++ blocking queue with      644—646
Condition variables, CLR monitors      272
Condition variables, defined      255
Condition variables, overview of      304
Condition variables, Windows Vista      304—309
const modifier, single assignment      35—38
CONTEXT data structure      151—152 437 440—441
Context switches, defined      82
Context switches, expense of      768 884
Context switches, fibers reducing cost of      431
Context switches, I/O operations and      785 787 810 824
Context switches, spin locks and      769—770
Context, defined      82
ContextSwitch, building UMS, dispatching work      461—463
ContextSwitch, building UMS, overview of      464—470
ContextSwitch, building UMS, queueing work      464—470
ContextSwitchDeadlock      575
Continuation Passing Style (CPS)      65—66 412—413
Continuations, task parallel library      900—902
ContinueWith methods, TPL      900—902
Continuous iterations      663—667
control flow invariants      548
Control synchronization      60—73
Control synchronization, condition variables and      see "Condition variables"
Control synchronization, coordination and      60—61
Control synchronization, defined      14
Control synchronization, events and      66—68
Control synchronization, message passing      71—73
Control synchronization, monitors and      68—70
Control synchronization, primitives and      255
Control synchronization, state dependence among threads      61—62
Control synchronization, structured parallelism and      70—71
Control synchronization, waiting for something to happen      63—66
Convention, enforcing isolation      32
ConvertFiberToThread      442
ConvertThreadToFiber(Ex)      438—439 442—444
Convoys, lock      603—605
Cooperative search algorithms      719
Coordination      see "Control synchronization"
Coordination and Concurrency Runtime      see "CCR (Coordination and Concurrency Runtime)"
Coordination containers      640—650
Coordination containers, C# blocking/bounded queue with multiple monitors      646—650
Coordination containers, producer/consumer data structures      641—642
Coordination containers, simple C# blocking queue with critical sections and condition variables      644—646
Coordination containers, simple C# blocking queue with monitors      642—644
Correctness hazards, data races      546—555
Correctness hazards, data races, benign      553—555
Correctness hazards, data races, composite actions      550—553
Correctness hazards, data races, inconsistent synchronization      549—550
Correctness hazards, data races, overview of      546—549
Correctness hazards, locks and process shutdown      561—571
Correctness hazards, locks and process shutdown, managed code and shutdown      569—571
Correctness hazards, locks and process shutdown, overview of      561—563
Correctness hazards, locks and process shutdown, Win32: weakening and termination      563—568
Correctness hazards, overview of      546
Correctness hazards, recursion and reentrancy      555—561
CountdownEvent      915—917
Counting semaphores      42
CoWaitForMultipleHandles API      186 202—204 207
CPS (Continuation Passing Style)      65—66 412—413
CPU affinity, assigning affinity      173—176
CPU affinity, microprocessor architecture and      178—179
CPU affinity, overview of      171—173
CPU affinity, round robin affinitization      176—178
CreateEvent(Ex)      228—230
CreateFiber(Ex)      435—436
CreateMutex(Ex)      212—216
CreateRemoteThread      95—96
CreateSemaphore(ex) APIs      220—222
CreateThread, C programs      96—98
CreateThread, creating threads in .NET      99
CreateThread, creating threads in Win32      90
CreateThread, example of      92—94
CreateThread, failure of      92
CreateThread, parameters      90—92
CreateThread, specifying stack changes      132
CreateThread, thread suspension      169
CreateThread, triggering thread exit      103
CreateThreadPool, Vista      344
CreateThreadPoolCleanupGroup, Vista      345—347
CreateThreadpoolIo, Vista      334—335
CreateThreadpoolTimer, Vista      330—331 333
CreateThreadpoolWait, Vista      336—337
CreateThreadpoolWork, Vista      326—327 329—330
CreateTimerQueueTimer, legacy thread pool      356—358
CreateWaitableTimer(Ex)      235—236
CreateWindow(Ex)      195
CREATE_SUSPENDED flag      153 169
Critical finalizers      300
Critical paths, speedup and      764—765
Critical regions, as binary semaphores      42
Critical regions, as fences      484—485
Critical regions, avoiding deadlocks with      576
Critical regions, coarse vs. fine-grained      45—47
Critical regions, correctly built      478
Critical regions, correctness hazards      551
Critical regions, defined      21 40
Critical regions, eliminating data races with      40—42
Critical regions, failure of in modern processors      59
Critical regions, implementing      47—48
Critical regions, implementing with critical sections      see "Critical sections Win32"
Critical regions, patterns of usage      43—45
Critical sections, C++ blocking queue with      644—646
Critical sections, CLR monitors      272
Critical sections, Win32      256—271
Critical sections, Win32, allocating      256—257
Critical sections, Win32, debugging ownership information      270—271
Critical sections, Win32, defining      254
Critical sections, Win32, entering and leaving      260—266
Critical sections, Win32, fibers and      448—449
Critical sections, Win32, implementing critical regions      256
Critical sections, Win32, initialization and deletion      257—259
Critical sections, Win32, integration with Windows Vista condition variables      304—309
Critical sections, Win32, low resource conditions      266—270
Critical sections, Win32, overview of      256
Critical sections, Win32, process shutdown and      563—568
Critical sections, Win32, Vista thread pool completion tasks      350
CRITICAL_SECTION      see "Critical sections Win32"
CRT (C Runtime Library)      90 96—98
CSP (Communicating Sequential Processes) systems      71—72
Current.ManagedThreadld      879
CurrentThread      101
Data access patterns      677—678
Data dependencies      485—486
Data ownership      33—34
Data parallelism      659—684
Data parallelism, concurrent program structure      6—7
Data parallelism, continuous iterations      663—667
Data parallelism, defined      657—658
Data parallelism, dynamic decomposition      669—675
Data parallelism, loops and iteration      660—661
Data parallelism, mapping over input data as parallel loops      675—676
Data parallelism, nesting loops and data access patterns      677—678
Data parallelism, overview of      659—660
Data parallelism, prerequisites for loops      662
Data parallelism, reductions and scans      678—681
Data parallelism, sorting      681—684
Data parallelism, static decomposition      662—663
Data parallelism, striped iterations      667—669
Data publication      15—16
Data races      see "Race conditions (data races)"
Data synchronization      40—60
Data synchronization, coarse vs. fine-grained regions      45—47
Data synchronization, defined      14 38—40
Data synchronization, Dekker's and Dijkstra's algorithm      50—53
Data synchronization, general approaches to      14
Data synchronization, hardware compare and swap instructions      55—58
Data synchronization, implementing critical regions      47—48
Data synchronization, Lamport's bakery algorithm      54—55
Data synchronization, mutual exclusion      see "Critical sections Win32" "Locks CLR"
Data synchronization, overview of      40—42
Data synchronization, patterns of critical region usage      43—45
Data synchronization, Peterson's algorithm      53—54
Data synchronization, primitives      254—255
Data synchronization, reader writer locks      see "RWLs (reader/writer locks)"
Data synchronization, reordering, memory models and      58—60
Data synchronization, semaphores      42
Data synchronization, strict alternation      49—50
Dataflow parallelism, futures      689—692
Dataflow parallelism, overview of      689
Dataflow parallelism, promises of      693—695
Dataflow parallelism, resolving events to avoid blocking      695—698
Deadlock from low maximum threads      382—385
Deadlock in library code      874—875
Deadlock, avoiding      575—589
Deadlock, avoiding, apartment threading model      197—198
Deadlock, avoiding, overview of      575—577
Deadlock, avoiding, The Banker's Algorithm      577—582
Deadlock, avoiding, with DllMain routine      116—117
Deadlock, avoiding, with lock leveling      581—589 875—876
Deadlock, concurrency causing      10—11
Deadlock, detecting      589—597
Deadlock, detecting, overview of      589—590
Deadlock, detecting, with timeouts      594
Deadlock, detecting, with Vista WCT      594—597
Deadlock, detecting, with Wait Graph Algorithm      590—594
Deadlock, examples of      572—575
Deadlock, fine-grained locking for FIFO queues and      617—621
Deadlock, implementing critical regions without      47
Deadlock, livelock vs.      601—603
Deadlock, onAppDomain agile objects      279—281
Deadlock, overview of      572
Deadlock, ReaderWriterLockSlim and      298
Deadly embrace      see "Deadlock"
DeallocationStack field, TEB      149
Debugging, as concurrency problem      11
Debugging, CLR monitor ownership      285—287
Debugging, CLR thread pool      386—387
Debugging, critical sections      270—271
Debugging, fibers      433—434
Debugging, kernel objects      250—251
Debugging, legacy RWL ownership      303—304
Debugging, SRWLs      293
Debugging, symbols      139
Debugging, thread suspension in      170
Debugging, user-mode thread stacks      127—130
Debugging, using CLR managed assistant for      575
Debugging, Vista thread pool      353
Declarative, LINQ as      910
Deeply immutable objects      34
Dekker's algorithm, antipattern in      540—541
Dekker's algorithm, Dijkstra's algorithm vs.      51—53
Dekker's algorithm, failure of in modern processors      59
Dekker's algorithm, overview of      50—51
Dekker's algorithm, Peterson's algorithm vs.      53—54
Delay-abort regions      110—111
Delays, from low maximum threads      385—386
Delegate types      418
Deletion of critical sections      257—259
Deletion of fibers      441—442
Deletion of legacy thread pool timer threads      358—359
Dependency, among threads      61—62
DestroyThreadpoolEnvironment, Vista      343
Dictionary (hashtable), building      626—631
Dijkstra's algorithm      51—53
Dijkstra, Edsger, algorithm of      51—53
Dijkstra, Edsger, dining philosophers problem      573—574
Dijkstra, Edsger, The Banker's Algorithm      577—581
Dining philosophers problem      573—574
DisassociateCurrentThreadFromCallback, Vista      347
DispatcherObject      840—846
Dispose overload, CLR      374
DllMain function, creating threads      153
DllMain function, initialization/deletion of critical regions      259
DllMain function, overview of      115—117
DllMain function, performing TLS functions      119
DLL_PROCESS_ATTACH      115 119—120 153
DLL_PROCESS_DETACH      115 119—120
DLL_THREAD_ATTACH      115—116 119—120 153
DLL_THREAD_DETACH      116 119—120 154
DNS resolution      419
Document matching      718
Documentation on blocking      884
Documentation on library locking model      870
DocumentPaginator      427
Domain parallelism      8—9
DoNotLockOnObjectsWithWeakldentity      281
DoSingleWait function      194—195
Double-checked locking, lazy initialization in .NET      521—527
Double-checked locking, lazy initialization in VC++      528—536
Double-checked locking, overview of      520
DPCs (deferred procedure calls)      84—85
DuplicateHandle      94
dwDesiredAccess      213
dwFlags argument      199—201 437 439
dwStackSize parameter, CreateThread API      91 132
dwTimeout      190
dwWakeMask argument      199
Dynamic (on demand) decomposition      669—675
Dynamic (on demand) decomposition for known size iteration spaces      669—672
Dynamic (on demand) decomposition for unknown size iteration spaces      669—672
Dynamic (on demand) decomposition, defined      663
Dynamic (on demand) decomposition, overview of      669
Dynamic composition, recursive locks      559
Dynamic TLS      118—120 122—123
ECMA Common Language Infrastructure      516—518
EDITBIN.EXE command      132
Efficiency, measuring      761—762
Efficiency, natural scalability vs. speedups      760—761
Efficiency, performance improvements due to      756
End method, APM      416
End prefix, APM      399
EndFoo, APM      401—407
EndInvoke      838—839
EndThreadAffinity      880
EnterCriticalSection, ensuring thread always leaves critical section      262
EnterCriticalSection, entering critical section      260—261
EnterCriticalSection, fibers and critical sections      448—449
EnterCriticalSection, leaving unowned critical section      261
EnterCriticalSection, low resource conditions and      267—268
EnterCriticalSection, process shutdown      563—564
EnterCriticalSection, setting spin count      264
Entry, APC      208
Environment.Exit, CLR      113—114 569—571
Environment.FailFast, CLR      114 141—142
Environments, Vista thread pool      342—347
Erlang language      720
ERROR_ALREADY_EXISTS      213 222
ERROR_ALREADY_FIBER      439
ERROR_FILE_NOT_FOUND      215
ERROR_OUT_OF_MEMORY      258 260 266
ERROR_STACK_OVERFLOW      134
Escape analysis      19
Essential COM (Box)      198
ETHREAD      145—146 152
Event handlers, asynchronous I/O completion      802—805
Event signals, missed wake-ups and      600—601
Event-based asynchronous pattern      421—427
Event-based asynchronous pattern in .NET Framework      426—427
Event-based asynchronous pattern, basics      421—424
Event-based asynchronous pattern, cancellation      425
Event-based asynchronous pattern, defined      400
Event-based asynchronous pattern, progress reporting/incremental results      425—426
Events, blocking queue data structure with      243—244
Events, completing asynchronous operations with      422
Events, control synchronization and      66—68
EventWaitHandle      231
1 2 3 4 5 6 7 8
blank
Ðåêëàìà
blank
blank
HR
@Mail.ru
       © Ýëåêòðîííàÿ áèáëèîòåêà ïîïå÷èòåëüñêîãî ñîâåòà ìåõìàòà ÌÃÓ, 2004-2024
Ýëåêòðîííàÿ áèáëèîòåêà ìåõìàòà ÌÃÓ | Valid HTML 4.01! | Valid CSS! Î ïðîåêòå