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