MyPage is a personalized page based on your interests.The page is customized to help you to find content that matters you the most.

I'm not curious

Async and Parallel Programming: Application Design

Course Summary

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 2 of 2) discusses the safe and efficient design of asynchronous and parallel .NET applicati

  • +

    Course Syllabus

    ● Understanding the Dangers of Concurrency
        ◦ Introductions and Agenda
        ◦ The pitfalls of concurrency
        ◦ Race conditions involving shared resources
        ◦ Solving race conditions --- an overview
        ◦ The danger of shared objects
        ◦ Thread-safety and solutions to shared objects
        ◦ Synchronization primitives
        ◦ Performance lessons...
        ◦ Summary and References
    ● Execution Model and Types of Parallelism
        ◦ Introductions and Agenda
        ◦ Custom task scheduling
        ◦ Additional observations regarding task scheduler
        ◦ Work-stealing in detail
        ◦ Fairness option to execute tasks in order
        ◦ LongRunning option for tasks > 1-2 seconds
        ◦ Solution for 100 long-running tasks
        ◦ Parallel.For = more concise solution
        ◦ Types of Parallelism
        ◦ Data parallelism
        ◦ Task parallelism
        ◦ Dataflow parallelism
        ◦ Embarrassingly parallel
        ◦ TPL support for parallelism types
        ◦ Parallel.For, .Foreach, .Invoke
        ◦ Structured (fork-join) parallelism
        ◦ Data partitioning
        ◦ Custom data partitioning
        ◦ Exception handling with Parallel class
        ◦ Breaking out of a Parallel loop
        ◦ Cancelling a Parallel loop
        ◦ Summary and References
    ● Designs and Patterns for Parallel Programming
        ◦ Introductions and Agenda
        ◦ Parallel Patterns --- master list
        ◦ Pipeline pattern
        ◦ Dataflow pattern
        ◦ Increasing parallelism in pipeline and dataflow
        ◦ Concurrent Data Structures --- master list
        ◦ ConcurrentQueue T
        ◦ Producer-Consumer pattern
        ◦ Implementation of Producer-Consumer with BlockingCollection T
        ◦ MapReduce pattern
        ◦ Implementing MapReduce
        ◦ Parallel LINQ (PLINQ)
        ◦ Speculative Execution pattern
        ◦ APM example of async file I/O
        ◦ Parallel I/O design challenge
        ◦ Summary and References

Course Fee:
USD 29

Course Type:


Course Status:



1 - 4 hours / week

This course is listed under Development & Implementations and Industry Specific Applications Community

Attended this course?

Back to Top

Awards & Accolades for MyTechLogy
Winner of
Top 100 Asia
Finalist at SiTF Awards 2014 under the category Best Social & Community Product
Finalist at HR Vendor of the Year 2015 Awards under the category Best Learning Management System
Finalist at HR Vendor of the Year 2015 Awards under the category Best Talent Management Software
Hidden Image Url

Back to Top