Exemple #1
0
        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);
        }
Exemple #2
0
        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));
        }
Exemple #3
0
        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);
        }