Simple play icon Course

C# 8 Concurrent Collections

by Simon Robinson

Learn to use concurrent collections effectively to store data in a multithreaded environment, keeping the code efficient and avoiding data corruption and race conditions.

What you'll learn

Making applications concurrent can be a vital part of ensuring good responsiveness and high performance, but standard collections are not designed for concurrent environments.

In this course, C# Concurrent Collections, you’ll learn how to use concurrent collections to bring the power of manipulating data in collections to multithreaded scenarios by thinking about problems in a concurrent way.

First, you’ll discover how to avoid race conditions and data corruption, and how to use lambdas and closures to complete concurrent collection operations in a thread-safe way.
Next, you’ll explore producer-consumer collections, such as stacks and queues. Then, you'll learn how to safely consume all items from a queue when you don’t know if other threads might be adding other items.
Finally, you’ll delve into good coding practices to keep your concurrent collection code efficient.

By the end of this course, you’ll understand how to safely store data in collections and have multiple threads access that data concurrently, while avoiding the thread synchronization bugs that can otherwise plague concurrent code.

Table of contents

Course Overview

About the author

Simon Robinson first cut his developer teeth in the early 1980s writing a scheduling system in BBC Basic(!) for his local college. Since then, his programming career has spanned industries ranging from academic research to telecoms to finance, and many computer languages such as C++, C# and Python, as well as writing front-end and back-end code for Windows and Web. He believes knowledge is to be shared, and has written or co-written more than a dozen books for professional programmers, includin... more

Ready to upskill? Get started