Ejemplo n.º 1
0
 public void CreateUnmanagedIntContext()
 {
     _unmanagedInt        = new LockFreeValue <int>(0);
     _unmanagedIntBarrier = new ManualResetEvent(false);
     _unmanagedIntThreads = new List <Thread>();
     PrepareThreads(NumThreads, _unmanagedIntBarrier, WithUnmanagedInt_Entry, _unmanagedIntThreads);
 }
Ejemplo n.º 2
0
 public void CreateAtomicValUnmanagedContext()
 {
     _atomicValUnmanaged        = new LockFreeValue <Vector2>(new Vector2(-1f, -1f));
     _atomicValUnmanagedBarrier = new ManualResetEvent(false);
     _atomicValUnmanagedThreads = new List <Thread>();
     BenchmarkUtils.PrepareThreads(NumThreads, _atomicValUnmanagedBarrier, WithAtomicValUnmanaged_Entry, _atomicValUnmanagedThreads);
 }
Ejemplo n.º 3
0
        public void CheckNoCustomEqualityForUnmanagedVals()
        {
            var initialVal = new DummyImmutableValAlphaOnlyEquatable(10, 20);
            var atomic     = new LockFreeValue <DummyImmutableValAlphaOnlyEquatable>(initialVal);

            Assert.False(atomic.TryExchange(new DummyImmutableValAlphaOnlyEquatable(), new DummyImmutableValAlphaOnlyEquatable(initialVal.Alpha, initialVal.Bravo + 20)).ValueWasSet);
        }
Ejemplo n.º 4
0
 public void CreateAtomicValContext()
 {
     _atomicVal        = new LockFreeValue <Vector2>(new Vector2(5f, 10f));
     _atomicValBarrier = new ManualResetEvent(false);
     _atomicValThreads = new List <Thread>();
     _atomicValRemainingThreadCount = new LockFreeInt32(NumThreads);
     BenchmarkUtils.PrepareThreads(NumThreads, _atomicValBarrier, WithAtomicVal_EntryA, _atomicValThreads);
     BenchmarkUtils.PrepareThreads(NumThreads, _atomicValBarrier, WithAtomicVal_EntryB, _atomicValThreads);
 }