書籍簡介:
Stephen Cleary利用75個豐富實例解釋了并行處理同步處理技術,書中使用了.NET 4.5和C# 5.0語言特性。作者Stephen Cleary擁有廣泛的編程經驗,涉及領域從ARM到Azure。他致力于開源軟件開發(fā),從Boost C++庫開始,已經發(fā)布了多個自己的庫和應用。
作者簡介:
(美)克利里 著
出版日期:
2015年02月
章節(jié)目錄:
Preface
1.Concurrency: An Overview
1.1.Introduction to Concurrency
1.2.Introduction to Asynchronous Programming
1.3.Introduction to Parallel Programming
1.4.Introduction to Reactive Programming (Rx)
1.5.Introduction to Dataflows
1.6.Introduction to Multithreaded Programming
1.7.Collections for Concurrent Applications
1.8.Modern Design
1.9.Summary of Key Technologies
2.Async Basics
2.1.Pausing for a Period of Time
2.2.Returning Completed Tasks
2.3.Reporting Progress
2.4.Waiting for a Set of Tasks to Complete
2.5.Waiting for Any Task to Complete
2.6.Processing Tasks as They Complete
2.7.Avoiding Context for Continuations
2.8.Handling Exceptions from async Task Methods
2.9.Handling Exceptions from async Void Methods
3.Parallel Basics
3.1.Parallel Processing of Data
3.2.Parallel Aggregation
3.3.Parallel Invocation
3.4.Dynamic Parallelism
3.5.Parallel LINQ
4.Dataflow Basics
4.1.Linking Blocks
4.2.Propagating Errors
4.3.Unlinking Blocks
4.4.Throttling Blocks
4.5.Parallel Processing with Dataflow Blocks
4.6.Creating Custom Blocks
5.Rx Basics
5.1.Converting .NET Events
5.2.Sending Notifications to a Context
5.3.Grouping Event Data with Windows and Buffers
5.4.Taming Event Streams with Throttling and Sampling
5.5.Timeouts
6.Testing
6.1.Unit Testing async Methods
6.2.Unit Testing async Methods Expected to Fail
6.3.Unit Testing async void Methods
6.4.Unit Testing Dataflow Meshes
6.5.Unit Testing Rx Observables
6.6.Unit Testing Rx Observables with Faked Scheduling
7.Interop
7.1.Async Wrappers for "Async" Methods with "Completed" Events
7.2.Async Wrappers for "Begin/End" methods
7.3.Async Wrappers for Anything
7.4.Async Wrappers for Parallel Code
7.5.Async Wrappers for Rx Observables
7.6.Rx Observable Wrappers for async Code
7.7.Rx Observables and Dataflow Meshes
8.Collections
8.1.Immutable Stacks and Queues
8.2.Immutable Lists
8.3.Immutable Sets
8.4.Immutable Dictionaries
8.5.Threadsafe Dictionaries
8.6.Blocking Queues
8.7.Blocking Stacks and Bags
8.8.Asynchronous Queues
8.9.Asynchronous Stacks and Bags
8.10.Blocking/Asynchronous Queues
9.Cancellation
9.1.Issuing Cancellation Requests
9.2.Responding to Cancellation Requests by Polling
9.3.Canceling Due to Timeouts
9.4.Canceling async Code
9.5.Canceling Parallel Code
9.6.Canceling Reactive Code
9.7.Canceling Dataflow Meshes
9.8.Injecting Cancellation Requests
9.9.Interop with Other Cancellation Systems
10.Functional-Friendly OOP
10.1.Async Interfaces and Inheritance
10.2.Async Construction: Factories
10.3.Async Construction: The Asynchronous Initialization Pattern
10.4.Async Properties
10.5.Async Events
10.6.Async Disposal
11.Synchronization
11.1.Blocking Locks
11.2.Async Locks
11.3.Blocking Signals
11.4.Async Signals
11.5.Throttling
12.Scheduling
12.1.Scheduling Work to the Thread Pool
12.2.Executing Code with a Task Scheduler
12.3.Scheduling Parallel Code
12.4.Dataflow Synchronization Using Schedulers
13.Scenarios
13.1.Initializing Shared Resources
13.2.Rx Deferred Evaluation
13.3.Asynchronous Data Binding
13.4.Implicit State
index
封面圖: