public static bool SetElapsedAndRun(string id, long elapsedMs, int runs = 1) { if (!_started) { return(true); } if (!_perfData.ContainsKey(id.ToLowerInvariant())) { return(false); } var item = _perfData[id.ToLowerInvariant()] as RunAndExcutionCounterMetric; if (item == null) { return(false); } item.InternalElapsedCount.SetValue(elapsedMs); item.InternalRunCount.SetValue(runs); return(true); }
public void LockFreeDictionaryContainsKey() { var dict = new AsyncLockFreeDictionary <int, int>(); Thread.Sleep(100); dict.Add(1, 1); dict.Add(2, 2); dict.Add(3, 3); dict.Add(4, 4); dict.Add(5, 5); Thread.Sleep(100); Assert.AreEqual(5, dict.Count); Assert.IsTrue(dict.ContainsKey(1)); Assert.IsTrue(dict.ContainsKey(2)); Assert.IsTrue(dict.ContainsKey(3)); Assert.IsTrue(dict.ContainsKey(4)); Assert.IsTrue(dict.ContainsKey(5)); }
public void LockFreeDictionaryRemoveKeyValuePair() { var dict = new AsyncLockFreeDictionary <int, int>(); Thread.Sleep(100); dict.Add(1, 1); dict.Add(2, 2); dict.Add(3, 3); dict.Add(4, 4); dict.Add(5, 5); Thread.Sleep(100); dict.Remove(new KeyValuePair <int, int>(4, 0)); Thread.Sleep(100); Assert.AreEqual(4, dict.Count); Assert.IsTrue(dict.ContainsKey(1)); Assert.IsTrue(dict.ContainsKey(2)); Assert.IsTrue(dict.ContainsKey(3)); Assert.IsTrue(dict.ContainsKey(5)); }
// ReSharper disable once UnusedParameter.Local private TestThread CreateValuesKeysThread(int mainCounter, ManualResetEvent signal) { var tt = TestThread.Start(th => { // ReSharper disable once UnusedVariable foreach (var value in _dict.Values) { } foreach (var key in _dict.Keys) { // ReSharper disable once UnusedVariable var result = _dict.ContainsKey(key); var value = _dict[key]; // ReSharper disable once SpecifyACultureInStringConversionExplicitly _dict[key] = new Random(100).Next(1000).ToString() + value; } return(true); }, signal); return(tt); }