/// <summary>
 /// Высвобождает (т.е. останавливает) поток балансера
 /// </summary>
 private void CancelPerformanceBalancer()
 {
     if (balancerThread != null)
     {
         balancerThread.Dispose();
         balancerThread = null;
     }
 }
        /// <summary>
        /// Устанавливает новый балансер, заставляет завершится старый.
        /// </summary>
        /// <remarks>
        /// Балансер сделан частью трид-пула (композиция) для того что бы время жизни балансера не превысила времени жизни
        /// самого пула.
        /// Т.к. это особенность данной реализации - я и не стал выносить его под интерфейс
        /// </remarks>
        /// <param name="balancer">Новый балансер</param>
        internal void SetPerformanceBalancer(PerformanceBalancer balancer, PerformanceBalanceSettings settings)
        {
            CancelPerformanceBalancer();

            if (balancer != null)
            {
                balancerThread = new PerformanceBalancerThread(balancer, settings);
            }
        }