public void AsyncDelegateThreading2()
        {
            //Arrange
              var x = new GeneralAlgorithm(123);
              Trace.WriteLine($"[{Environment.CurrentManagedThreadId}] Arrange {DateTime.Now.ToString(Constant.PrecisionFormat)}");

              //Act
              for (int k = 0; k < 70; ++k)
              {
            x.AddResultInTheBackground(k);
              }
              Thread.Sleep(4000);

              //Assert
              Trace.WriteLine($"[{Environment.CurrentManagedThreadId}] Assert {DateTime.Now.ToString(Constant.PrecisionFormat)}");
              var results = x.Results.ToList();
              results.ForEach(_ => Trace.WriteLine(_));
              Assert.IsTrue(results.All(_ => !_.StartsWith($"[{Environment.CurrentManagedThreadId}]")));
        }
        public void AsyncDelegateThreading3()
        {
            //Arrange
              int minW, minIO, minAvailW, maxW, maxIO, maxAvailIO;
              ThreadPool.GetMinThreads(out minW, out minIO);
              ThreadPool.GetMaxThreads(out maxW, out maxIO);
              ThreadPool.GetAvailableThreads(out minAvailW, out maxAvailIO);
              Trace.WriteLine($"ProcessorCount: {Environment.ProcessorCount} | {nameof(minW)}:{minW} |{nameof(minIO)}:{minIO} | {nameof(maxW)}:{maxW} | {nameof(maxIO)}:{maxIO} | {nameof(minAvailW)}:{minAvailW} | {nameof(maxAvailIO)}:{maxAvailIO}");
              var x = new GeneralAlgorithm(321);
              Trace.WriteLine($"[{Environment.CurrentManagedThreadId}] Arrange {DateTime.Now.ToString(Constant.PrecisionFormat)}");

              //Act
              for (int k = 0; k < 70; ++k)
              {
            x.AddResultInTheBackground2(k);
              }
              Thread.Sleep(4000);

              //Assert
              Trace.WriteLine($"[{Environment.CurrentManagedThreadId}] Assert {DateTime.Now.ToString(Constant.PrecisionFormat)}");
              var results = x.Results.ToList();
              results.ForEach(_ => Trace.WriteLine(_));
              Assert.IsTrue(results.All(_ => !_.StartsWith($"[{Environment.CurrentManagedThreadId}]")));
        }