public void CreateUnmanagedIntContext() { _unmanagedInt = new LockFreeValue <int>(0); _unmanagedIntBarrier = new ManualResetEvent(false); _unmanagedIntThreads = new List <Thread>(); PrepareThreads(NumThreads, _unmanagedIntBarrier, WithUnmanagedInt_Entry, _unmanagedIntThreads); }
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); }
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); }
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); }