Introduction to signaling primitives
An important aspect of parallel programming is task coordination. While creating tasks, you may come across a producer/consumer scenario where a thread (the consumer) is waiting for a shared resource to be updated by another thread (the producer). Since the consumer doesn't know when the producer is going to update the shared resource, it keeps on polling the shared resource, which can lead to race conditions. Polling is highly inefficient in dealing with these scenarios. It is better to use the signaling primitives that are provided by the .NET Framework. With signaling primitives, the consumer thread is paused until it receives a signal from the producer thread. Let's discuss some common signaling primitives, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access