public void AtomicInt32SupportsPostDecrementMultiThreaded() { const int expected = 0; var i = new AtomicInt32(); i.Value = 1000; System.Threading.Tasks.Parallel.For(0, 1000, j => i.PostDecrement()); Assert.AreEqual(expected, (int)i); Assert.AreEqual(expected, i.Value); }
public void AtomicInt32SupportsPostDecrement() { const int expected = 0; var i = new AtomicInt32(); i.Value = 1000; for (int j = 0; j < 1000; j++) { i.PostDecrement(); } Assert.AreEqual(expected, (int)i); Assert.AreEqual(expected, i.Value); }