Asynchronous? Parallel? Reactive? Help!

Stephen Cleary

Ballroom 3

9:45 - 10:45

The modern world of concurrency can certainly be confusing! This talk is a gentle introduction to the many forms of concurrency. In this talk, you'll learn which types of concurrency are appropriate for which scenarios.

Most developers have heard of parallelism, so this talk starts with parallel computing, showcasing the Parallel class and Parallel LINQ (PLINQ).

The next stop is asynchronous code. Asynchronous code is a totally different kind of concurrency than parallel processing, and the async and await keywords enable maintainable asynchronous code in modern applications.

This talk will also introduce you to TPL Dataflow. A beautiful mix of parallel and asynchronous techniques, TPL Dataflow is a little-known but extremely powerful library.

The last technology covered is Reactive Extensions. This talk will cover the concepts behind Rx and the most useful operators. This session is entirely practical; the phrase "mathematical dual of IEnumerable" does not appear on any slides.