Synchronizing access to shared resources

When you have multiple threads executing at the same time, there is a possibility that two or more threads may access the same variable or other resource at the same time and cause a problem.

For this reason, you should carefully consider how to make your code "thread safe".

The simplest mechanism for implementing thread safety is to use an object variable as a "flag" or "traffic light" to indicate when a shared resource has an exclusive lock applied.

Tip

In William Golding's Lord of the Flies, Piggy and Ralph spot a conch shell and use it to call a meeting. The boys impose a "rule of the conch" on themselves, deciding that no one can speak unless he's holding the conch. I like to name the object variable I ...

Get C# 6 and .NET Core 1.0: Modern Cross-Platform Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.