Exemple #1
0
        public void SchedulingLoaderLongTimeTest()
        {
            ResponseLimitedConcurrencyTaskScheduler rlcts  = new ResponseLimitedConcurrencyTaskScheduler(GetSchedulerInit());
            ResponseLimitedConcurrencyActionLoader  loader = new ResponseLimitedConcurrencyActionLoader(rlcts);

            Action action = () =>
            {
                Thread.Sleep(100);
                Console.WriteLine("Finish Thread={0}", Thread.CurrentThread.ManagedThreadId);
            };

            loader.Start(action);
            Thread.Sleep(20000);
            loader.StopAndWait();
        }
Exemple #2
0
        public void SchedulingLoaderBriefTest()
        {
            Func <int, int> funcMdop = ResponseLimitedConcurrencyFunctionFactory.LinearDecreasing(5, 1, 2);

            ResponseLimitedConcurrencyTaskScheduler rlcts  = new ResponseLimitedConcurrencyTaskScheduler(funcMdop);
            ResponseLimitedConcurrencyActionLoader  loader = new ResponseLimitedConcurrencyActionLoader(rlcts);

            Action action = () =>
            {
                Thread.Sleep(10);
                Console.WriteLine("Finish Thread={0}", Thread.CurrentThread.ManagedThreadId);
            };

            loader.Start(action);
            Thread.Sleep(5000);
            loader.StopAndWait();
        }
Exemple #3
0
        public void SchedulingLoaderLongRunningTest()
        {
            ResponseLimitedConcurrencyTaskConfiguration config = new ResponseLimitedConcurrencyTaskConfiguration();

            config.MinimumSampleCount       = 5;
            config.SamplingRateMilliseconds = 2000;
            config.AverageSampleCount       = 10;

            ResponseLimitedConcurrencyTaskScheduler rlcts  = new ResponseLimitedConcurrencyTaskScheduler(GetSchedulerInit(), config);
            ResponseLimitedConcurrencyActionLoader  loader = new ResponseLimitedConcurrencyActionLoader(rlcts);

            Action action = () =>
            {
                Thread.Sleep(1000);
                Console.WriteLine("Finish Thread={0}", Thread.CurrentThread.ManagedThreadId);
            };

            loader.Start(action);
            Thread.Sleep(5000);
            loader.StopAndWait();
        }