示例#1
0
        public void ElasticThreadPool_Fibonacci_Min_0_Max_1()
        {
            var stp = new ElasticThreadPool(0, 1);
            int value;
            TimeSpan elapsed;

            FibonacciThreadPool(stp, 30, TimeSpan.Zero, out value, out elapsed);
            Assert.AreEqual(832040, value);

            _log.Debug("Time: " + elapsed);
            _log.Debug("Work items processed: " + _counter);
            stp.Dispose();
            Assert.AreEqual(0, stp.WorkItemCount, "WorkQueue items");
            Assert.AreEqual(0, stp.ThreadCount, "WorkQueue threads");
        }
示例#2
0
        public void ElasticThreadPool_Fibonacci_Min_0_Max_100_with_1ms_delay()
        {
            var stp = new ElasticThreadPool(0, 100);
            int value;
            TimeSpan elapsed;

            FibonacciThreadPool(stp, 25, TimeSpan.FromSeconds(0.001), out value, out elapsed);
            Assert.AreEqual(75025, value);

            _log.Debug("Time: " + elapsed);
            _log.Debug("Work items processed: " + _counter);
            stp.Dispose();
            Assert.AreEqual(0, stp.WorkItemCount, "WorkQueue items");
            Assert.AreEqual(0, stp.ThreadCount, "WorkQueue threads");
        }