Where are the basic concurrency primitives in .Net?
Specifically I want to use a Check and Set operator.
Where are the basic concurrency primitives in .Net?
Specifically I want to use a Check and Set operator.
You need to look at the Interlocked class in the System.Threading namespace. The CompareExchange is the method you're looking for.
It has the form CompareExchange(target, value, comparand) which in pseudo-code means if(target==comparand) target=value;.
There are also a load of other atomic methods on the Interlocked class that are useful, such as Increment, Decrement, Add and Exchange.