.NET Tools
Essential productivity kit for .NET and game developers
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
- Slides: https://presentations.scooletz.com/GentleLowLevelConcurrency
- Async Expert Course: https://asyncexpert.com
- Blog: https://blog.scooletz.com/
- Dotnetos: https://dotnetos.org/
About the presenter: