Introduction to Async and Parallel Programming in .NET 4

Introduces the new Task-based, async and parallel programming model available in .NET 4 and Silverlight 5.
Course info
Rating
(1536)
Level
Intermediate
Updated
Jan 3, 2012
Duration
2h 51m
Table of contents
Tasks and Task-based Programming
Working with Tasks: Creating, Waiting, and Harvesting Results
Coordinating, Canceling, and Exception Handling of Tasks
Description
Course info
Rating
(1536)
Level
Intermediate
Updated
Jan 3, 2012
Duration
2h 51m
Description

Need to make your .NET applications more responsive? Run faster? On today's multicore hardware, async and parallel programming may be the answer. This course (part 1 of 2) overviews the new Task Parallel Library (TPL) in .NET 4, starting with an introduction to its Task-oriented programming model and working through various techniques for effective use of the TPL.

About the author
About the author

Joe focuses on High Performance Computing and .NET languages. Joe has been specializing in Microsoft technologies since 1992, and is well-versed in Microsoft's High-Performance Computing initiative (HPC Server, Compute Cluster Server, MPI, MPI.NET, OpenMP, PFx), web technologies (ASP.NET and Ajax Extensions for ASP.NET), the desktop (WinForms), LINQ, .NET Framework, and its most popular languages (VC++, C#, F# and VB).

More from the author
Learning How to Program with Scratch
Beginner
4h 29m
Mar 25, 2013
Section Introduction Transcripts
Section Introduction Transcripts

Tasks and Task-based Programming
Hi. Welcome to the course Introduction to Async and Parallel Programming in. NET4. This is the first lecture, Tasks and Task-based Programming for Responsiveness and Performance. And the idea here is a quick introduction to using tasks for Async and parallel programming. And really, to get some code up on the screen, get some demos running, and just get a feeling for what. NET 4 has to offer. Quick introduction and overview, my name is Joe Hummel. I have a PhD in the field of high-performance computing. So, that's multicore GPU computing, cluster computing, and languages and compilers with a strong emphasis on the Microsoft platform. The agenda for this module is why are we here? So, we'll talk about that briefly. And then, what is a task? What is this new programming model that. NET 4 is offering to us? And then, how do we create these tasks? How do we use them for asynchronous programming? And then, how do we use them for parallel programming?

Working with Tasks: Creating, Waiting, and Harvesting Results
Hi, welcome to the course Introduction to Async and Parallel programming in. NET 4. This is the second lecture Working with Tasks: Creating, Waiting, and Harvesting Results. The first lecture introduced the basic notion of a task. So, the idea here is to demonstrate some of the common operations that folks need when using the library such as, "How do I wait for a task to finish, or how do I harvest a tasks result? " My name is Joe Hummel and I'll be your presenter today. I've been working with parallel computing since the early '90s and earned a PhD in the area in 1998. Today, my work includes multi-core CPUs, GPUs, cluster computing, parallel programming, languages, compilers, all with a strong emphasis on the Microsoft platform. Now, the agenda for this module is to start off with a review of tasks such as code versus facade tasks. Then, we'll start looking at the most common operations you'll need to perform with the Task Parallel Library namely, how to wait for a task to finish, how to wait for one or more tasks to finish, how to harvest the task result, and how to compose tasks? As usual, we'll demonstrate each of these so you see it working in a real application. All right, let's get started.

Coordinating, Canceling, and Exception Handling of Tasks
Hi. Welcome to the course Introduction to Async and Parallel Programming in. NET 4. This is the third lecture: Coordinating, Cancelling, and Exception Handling of Tasks. The previous lecture looked at some of the some of the most common operations you perform with tasks, such as waiting for them to finish. We're going to continue that discussion and focus on additional operations that are needed in most applications. As some of you may know, my name is Joe Hummel and I'll be your presenter today. I've been working with parallel computing since the early '90s and earned a PhD in the area in 1998. Today, my work includes multi-core CPUs, GPUs, cluster computing, parallel programming languages and compilers, all with the strong emphasis on the Microsoft platform. The agenda for this module is to dive right in and talk about concepts that most users of the TPL are going to need, namely: exception handling, task cancellation, the concept of task priorities, parent-child tasks, and parameter passing. Along the way, we'll talk about Microsoft start process and the design of these areas of the TPL. And of course, we'll write as much as code as possible, so you'll see these concepts in live action. Okay. Let's get started.