Asynchronous? Parallel? Reactive? Help!


The modern world of concurrency can certainly be confusing! This talk is a gentle introduction to the many forms of concurrency. Most developers have heard of parallelism, so we'll start by covering the three forms of parallel computing, showcasing the Parallel class and Parallel LINQ (PLINQ). The next stop will be asynchronous code. We'll cover how asynchronous code is a totally different kind of concurrency than parallel processing, and consider how the async and await keywords work to enable maintainable asynchronous code.

Before the last point, we'll spend some time looking at TPL Dataflow. A beautiful mix of parallel and asynchronous techniques, TPL Dataflow is a little-known but extremely powerful library.

Finally, I'll introduce Reactive Extensions as yet another form of concurrency. I'll describe the concepts behind Rx as well as the most useful operators. And I'll keep it practical; I promise not to say "mathematical dual of IEnumerable" even once.

Speaker: Stephen Cleary

Stephen Cleary is a Christian, husband, and father who programs software in his spare time. :)

He is a Microsoft MVP and the author of "Concurrency in C# Cookbook" (O'Reilly). He's also the top answerer for async/await questions on Stack Overflow.

His work usually deals with asynchronous and multithreaded programming, but he finds any challenging subject interesting. These days he uses C#/C++/JavaScript, but remains interested in many different languages.


Service Spring Corporation
1703 Toll Gate Dr.
Maumee, OH 43537, US (map)

Access Notes

Look for large "1703" sign. Use visitor's entrance (single door on front of building).