Burrow.BurrowConsumer.StartConsumerThread C# (CSharp) Метод

StartConsumerThread() защищенный Метод

protected StartConsumerThread ( string threadName ) : void
threadName string
Результат void
        protected void StartConsumerThread(string threadName)
        {
            ThreadStart startDelegate = () =>
            {
                try
                {
                    Action<BasicDeliverEventArgs> handler = HandleMessageDeliveryInSameThread;
                    if (BatchSize > 1)
                    {
                        handler = HandleMessageDeliveryInSeperatedThread;
                    }

                    while (_status == ConsumerStatus.Active && !_channelShutdown)
                    {
                        WaitAndHandleMessageDelivery(handler);
                    }
                }
                catch (ThreadStateException tse)
                {
                    _watcher.WarnFormat("The consumer thread {0} got a ThreadStateException: {1}, {2}", ConsumerTag, tse.Message, tse.StackTrace);
                }
                catch (ThreadInterruptedException)
                {
                    _watcher.WarnFormat("The consumer thread {0} is interrupted", ConsumerTag);
                }
                catch (ThreadAbortException)
                {
                    _watcher.WarnFormat("The consumer thread {0} is aborted", ConsumerTag);
                }
            };

            var threadOne = new Thread(startDelegate)
            {
                Name = threadName,
                Priority = ThreadPriority.AboveNormal,
                IsBackground = true
            };
            threadOne.Start();
        }