Audience
This course is designed for developers who want to speed up applications or long-running tasks by fully harnessing the power of today's multi-core processors.
It is also highly suitable for developers who need to process tasks in parallel, or need to create non-blocking user interfaces using asynchronous programming.
Prerequisites
C# or VB.NET programming skills at the intermediate level are required, ideally acquired by attending one of the following courses:
C# Programming.
Visual Basic Programming.
Duration
3 days. Hands on.
This course is available on site only. Please call for details.
Course Objectives
This course introduces current .NET developers to the world of asynchronous and parallel processing. Delegates will learn traditional methods of asynchronous and parallel processing, as well as the latest technology available in NET 4.5. Delegates will also learn how to create non-blocking user interfaces for long-running tasks such as generating big reports, querying databases or downloading large files. The course deals also with handling practical problems arising from such processing, for example data exchange between the threads, competition for computer resources or synchronization of threads. Attention is also paid to correct design of such applications, and proper conversion of sequential algorithms to parallel ones.
Upon successful completion of this course, delegates will be able to:
- Use traditional methods of asynchronous and parallel processing.
- Create non-blocking and fast user interfaces.
- Convert code to asynchronous and parallel one.
- Use Task Parallel Library for powerful parallel processing.
- Synchronize parallel tasks.
- Use parallel LINQ, lambda expressions and other advanced technologies.
- Use lazy processing.
- Cancel already running tasks correctly.
- Debug and verify correctness of parallel processing.
Course Content
• Asynchronous Programming using Tasks
• Going Further with Tasks
• Thread Safety
• Simplifying Thread Safety
• Async / Await
• Introduction to TPL Dataflow
• Going Further with TPL Dataflow
• Parallelization
• Server side asynchronous programming
• Debugging asynchronous code