Course details

Programming in C#: Managing Multithreating

Programming in C#: Managing Multithreating

Expected Duration
Lesson Objectives
Course Number
Expertise Level


Discover how to implement threaded programs, use a Task Parallel Library and explore the differences between asynchronous and parallel programming.

Expected Duration (hours)

Lesson Objectives

Programming in C#: Managing Multithreating

  • describe the differences between thrown and re-thrown exceptions
  • using locking to prevent data from being accessed by multiple threads at a time
  • use synchronization events
  • use cancellation tokens to cancel a long-running task
  • demonstrate how to implement thread-safe methods to handle race conditions
  • use the interlocked class for thread-safe numeric access
  • perform asynchronous operation using task
  • use parallel invoke methods
  • distinguish between parallel for and for statements
  • use parallel ForEach methods
  • demonstrate how to spawn threads using ThreadPool
  • use task to unblock the user interface thread
  • speed up LINQ queries using Parallel LINQ (PLINQ)
  • manage data using ConcurrentBag collection
  • demonstrate how to facilitate asynchronous pattern usage for Async and Await Keywords
  • schedule tasks using the task object
  • set up a series of tasks to run in a specified sequence
  • Course Number:

    Expertise Level