In 2004, the Dutch innovation center MediaPlaza invited me to help them build a Supermarket Shelf of the Future.
We fitted the shelf with RFID antennas and could automatically detect when products where placed on or taken off the shelf. We also added LCD displays with dynamic pricing and monitors to display context-aware commercials. This is what it looked like:
I wrote all of the multi-threaded C# code to drive the RFID antennas and automatically detect when groceries fitted with RFID tags were placed on the shelves.
But during testing we discovered a flaw: the shelf would occasionally crash during startup. After rebooting it a couple of times, it would eventually start up and work normally.
This was obviously some kind of race condition caused by two conflicting threads. The fix was simple – all I had to do is add a critical section by wrapping my code with a lock statement.
If the underlined words are all Greek to you, then this is the course for you!
Writing multi-threaded code is pretty hard. The sobering truth is that if you do not know what you’re doing, your code is pretty much guaranteed to crash spectacularly in production. But if you have a good understanding of multi-threaded programming and follow a few simple industry best practices, you can write robust code that can take a beating.
‘Excellent course goes into detail for multi threading applications and the reasons why they work and more importantly why they don’t work and how to solve these problems to get the code to work’
‘Well articulated, thoughtfully laid out and introduces new concepts that build on and improve earlier items. There is a wonderful balance of lecture and coding in this course’
‘Starts simple and then develops in complexity – ultimately this lecture gives you a clear understanding of the topic with multiple examples to show different scenarios’
TOPICS COVERED IN THIS COURSE
The course covers Threads, creating Critical Sections by Locking code, performing Synchronisation between two or more threads, writing asynchronous code with Tasks, and creating parallel LINQ queries with PLINQ.
In a series of short lectures I will show you many problems you can expect in asynchronous code, like race conditions, deadlocks, livelocks and synchronisation issues. I’ll show you quick and easy strategies to resolve these problems.
By the end of the section you will be able to write robust multi-threaded C# code that can take a beating.
I’ll also show you how trivially easy it is to write asynchronous C# code using the Task Parallel Library and Parallel LINQ. These amazing frameworks allow anyone to write robust multi-threaded code that can take a beating.
Are you interested? You get lifelong access to all content, and you can also download everything to your device to watch offline if you prefer.
And if you’re unhappy with the course for any reason, I’ll give you a 30-day full refund.
- Three Month Payment Plan
- $45 p/m
- Two Month Payment Plan
- $65 p/m
- One-Time Payment
If you are unhappy about your purchase, please contact us in the first 30 days and we will give you a full refund.
I am a blogger, investor, serial entrepreneur, and the author of 11 successful IT courses in the Udemy marketplace. My career spans over two decades during which I’ve been a Founder twice and CTO three times, and I have launched two lean startups in The Netherlands.
I became a Microsoft Certified Trainer in 2005 and started training classes in .NET development, web design, and Microsoft back-office servers. Today I use my extensive knowledge of IT to help CTO’s, architects, and other tech professionals with their leadership, communication, and technical skills.
I hold MCSA and MCSD certifications from Microsoft and am a certified Microsoft Trainer and Scrum master. I also speak fluent English, Dutch, and German.