Dotnet logo

.NET Tools

Essential productivity kit for .NET and game developers

.NET Tools Concepts Livestreams

An Introduction to Low-level Concurrency in .NET – Webinar Recording

The recording for An Introduction to Low-level Concurrency in .NET with guest speaker Szymon Kulec is now available on YouTube.

We’ll be discussing and understanding low-level async primitives while keeping the topic relatively straightforward. We’ll also be walking through Volatile, Interlocked, and other things-which-must-not-be-named. We’ll see how all these concepts are used in the .NET runtime and how they are utilized.

After this talk, you will have a good grasp about why and when these concepts are useful. While you may not end up using these primitives directly, you might find this knowledge useful when trying to understand CancellationTokenSource, ConcurrentStack, ConcurrentQueue, Channels and other concurrent friendly components.

This talk is designed to help you understand these concepts from the ground up. No prior exposure to designing concurrent data structures is required. Everyone is welcome to join and

Agenda

  • 0:00 Welcome
  • 2:30 Introduction to low-level concurrency
  • 5:01 What is volatile?
  • 19:40 ConcurrentQueue – Overview
  • 23:04 Design and internal use of volatile in ConcurrentQueue
  • 33:05 What is interlocked?
  • 41:36 ConcurrentStack and how it uses interlocked
  • 46:55 SafeHandle to wrap unmanaged resources
  • 50:33 Key takeaways
  • 54:22 Questions and answers
  • 1:04:50 Wrap-up

Links & References

About the presenter:

Szymon Kulec

Szymon Kulec (@Scooletz) is a co-founder of Dotnetos, interested in distributed systems and performance. He never allocates before noon.

image description

Discover more