public void CreateUnmanagedIntContext()
 {
     _unmanagedInt        = new AtomicValUnmanaged <int>(0);
     _unmanagedIntBarrier = new ManualResetEvent(false);
     _unmanagedIntThreads = new List <Thread>();
     PrepareThreads(NumThreads, _unmanagedIntBarrier, WithUnmanagedInt_Entry, _unmanagedIntThreads);
 }
Example #2
0
        public void CheckNoCustomEqualityForUnmanagedVals()
        {
            var initialVal = new DummyImmutableValAlphaOnlyEquatable(10, 20);
            var atomic     = new AtomicValUnmanaged <DummyImmutableValAlphaOnlyEquatable>(initialVal);

            Assert.False(atomic.TryExchange(new DummyImmutableValAlphaOnlyEquatable(), new DummyImmutableValAlphaOnlyEquatable(initialVal.Alpha, initialVal.Bravo + 20)).ValueWasSet);
        }
Example #3
0
 public void CreateAtomicValUnmanagedContext()
 {
     _atomicValUnmanaged        = new AtomicValUnmanaged <Vector2>(new Vector2(-1f, -1f));
     _atomicValUnmanagedBarrier = new ManualResetEvent(false);
     _atomicValUnmanagedThreads = new List <Thread>();
     BenchmarkUtils.PrepareThreads(NumThreads, _atomicValUnmanagedBarrier, WithAtomicValUnmanaged_Entry, _atomicValUnmanagedThreads);
 }
 public void CreateAtomicValContext()
 {
     _atomicVal        = new AtomicValUnmanaged <Vector2>(new Vector2(5f, 10f));
     _atomicValBarrier = new ManualResetEvent(false);
     _atomicValThreads = new List <Thread>();
     _atomicValRemainingThreadCount = new AtomicInt(NumThreads);
     BenchmarkUtils.PrepareThreads(NumThreads, _atomicValBarrier, WithAtomicVal_EntryA, _atomicValThreads);
     BenchmarkUtils.PrepareThreads(NumThreads, _atomicValBarrier, WithAtomicVal_EntryB, _atomicValThreads);
 }