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
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