Async Programming in C#

Async Programming in C#

3h 36mBeginner2017-10-05

Authors

Anton Delsink

Anton Delsink

Programmer, Teacher

Course details

Discover how to improve the scalability and performance of your applications using asynchronous programming in C#. In this course, join Anton Delsink as he explores different options for parallelizing your code, and shows how asynchronous programming is done with C#. Anton covers key concepts, including unit tests, delegates, lambdas, and anonymous methods. He also covers multithreading, async keywords, tasks, and more.

Learning objectives
What is asynchronous?
Delegates
Blocking vs. nonblocking I/O
Async database queries with begin/end
Windows Forms BackgroundWorker
Threads
Async networking with Tasks
Async database queries with Tasks
C# keywords async and await

Skills covered

C#Programming LanguagesMicrosoftSoftware DevelopmentDeep Dive (X:Y)

Concepts

Introduction

  • Introduction
  • What you should know
  • Using the exercise files

Background

  • What is asynchronous
  • Unit tests
  • Delegates
  • Anonymous methods and lambdas

I O

  • Blocking vs. nonblocking I O
  • Async networking with begin end
  • Async database queries with begin end

Windows Forms

  • Perceived performance
  • Windows Forms BackgroundWorker

Hard Multithreading

  • Threads
  • Thread safety
  • Keyword - lock
  • Thread pool
  • Signaling

Less Hard Multithreading

  • Tasks
  • Class task
  • Async networking with tasks
  • Async database queries with tasks
  • Task Parallel Library

async and await

  • Keywords - async and await
  • From Task to async and await
  • Error handling

Concurrent Collections

  • SharedState
  • ConcurrentQueue
  • ConcurrentDictionary
  • BlockingCollection

Conclusion

  • Next Steps
80,000 Toman