Async Programming in C#
3h 36mBeginner2017-10-05
Authors

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
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
0. Introduction
- 01 - Introduction
- 02 - What you should know
- 03 - Using the exercise files
1. Background
- 04 - What is asynchronous
- 05 - Unit tests
- 06 - Delegates
- 07 - Anonymous methods and lambdas
2. I O
- 08 - Blocking vs. nonblocking I O
- 09 - Async networking with begin end
- 10 - Async database queries with begin end
3. Windows Forms
- 11 - Perceived performance
- 12 - Windows Forms BackgroundWorker
4. Hard Multithreading
- 13 - Threads
- 14 - Thread safety
- 15 - Keyword - lock
- 16 - Thread pool
- 17 - Signaling
5. Less Hard Multithreading
- 18 - Tasks
- 19 - Class task
- 20 - Async networking with tasks
- 21 - Async database queries with tasks
- 22 - Task Parallel Library
6. async and await
- 23 - Keywords - async and await
- 24 - From Task to async and await
- 25 - Error handling
7. Concurrent Collections
- 26 - SharedState
- 27 - ConcurrentQueue
- 28 - ConcurrentDictionary
- 29 - BlockingCollection
Conclusion
- 30 - Next Steps