Blacker.MangaScraper.Helpers.AsyncRequestQueue.ThreadProc C# (CSharp) Method

ThreadProc() private method

private ThreadProc ( ) : void
return void
        private void ThreadProc()
        {
            while (true)
            {
                if(AutoResetEvent.WaitAny(new [] {_stopEvent, _canProcess}) == 0)
                {
                    _log.Debug("Recieved stop signal. Exiting thread.");
                    return;
                }
                else
                {
                    AsyncRequest request;

                    while (_requestQueue.TryDequeue(out request))
                    {
                        ProcessAsyncRequest(request);
                    }

                    if (_requestQueue.Count == 0)
                    {
                        OnTasksCompleted();
                    }
                }
            }
        }