Here’s What You’ll Get









Training Details
This course contains a series of short lectures that cover many fundamental multithreading topics. I’ll show you all the problems you can expect in asynchronous code, like race conditions, deadlocks, livelocks and synchronisation issues. I’ll teach you quick and easy strategies to resolve these problems.
You will learn to write multithreaded code, how to safely start and abort a thread, and how to exchange data between two or more threads. I’ll explain the main reasons why multithreaded code often crashes, and what you can do about it. We’ll also look at resolving race conditions, using the AutoResetEvent and ManualResetEvent in code… and much more!
By the end of this course you will be able to write robust multithreaded C# code that can take a beating.
Name: Introduction to C# Threading.
Format: Self-paced.
Content: training lectures, video lessons, and quizzes
Requirements: a Windows, Mac or Linux laptop with Visual Studio Code and the NET Framework
Support: Slack channel.
Associated certification: none.
Sneak Preview
In this complimentary training lecture, I will teach you how to synchronize two threads by using the special AutoResetEvent class in C#. This class allows two threads to safely exchange data without risking a race condition or a deadlock.
Training Curriculum
Introduction
Course Intro
Introduction to Threading
Windows, OS/X or Linux?
Working with Threads
Introduction
How to Start a Thread
First Problem: Race Conditions
Passing In Data to a Thread
Second Problem: Waiting On a Thread
Joining and Suspending Threads
Interrupting and Aborting Threads
Recap
Quiz
Introducing Thread Locking
Introduction
When Should You Lock Threads?
The Lock Statement
Dealing With Deadlocks
Assignment: Have Dinner With The Philosophers
Using The Interlocked Class
Recap
Quiz
How to Synchronize Thread
Introduction
Thread Synchronization With AutoResetEvents
How to Build a Producer/Consumer Queue
The ManualResetEvent Class
The CountdownEvent Class
Thread Rendezvous
Recap
Quiz
In Conclusion
What you´ve learned
Sign Up For This Training
Looking For Something Else?
CHECK OUT MY OTHER C# TRAINING COURSES
Is this training course not exactly what you’re looking for? No problem, I have many other C# courses in my catalog. Take a look at these alternatives.
“I wish I had started sooner, because this is a really good course. Mark takes the time to explain difficult concepts in a way that is easy to digest. For example, I loved his explanation of the AutoResetEvent class. I never really understood it that well until now.”
Vikram Hegde, online student
Frequently Asked Questions
- This Training
- Self-Paced Training
- Guided Training
- Classroom Training