public cGatherUrlItem Dequeue()
        {
            cGatherUrlItem item = null;

            lock (((ICollection)MainUrls).SyncRoot)
            {
                if (this.MainUrls.Count > 0)
                {
                    lock (((ICollection)MainUrls).SyncRoot)
                    {
                        item = MainUrls.Dequeue();
                        return(item);
                    }
                }
            }
            lock (((ICollection)RunUrls).SyncRoot)
            {
                if (this.RunUrls.Count > 0)
                {
                    lock (((ICollection)RunUrls).SyncRoot)
                    {
                        item = RunUrls.Dequeue();
                        return(item);
                    }
                }
            }
            return(item);
        }
        public bool ContainsUrl(string url)
        {
            bool resultFlag = false;

            lock (((ICollection)RunUrls).SyncRoot)
            {
                resultFlag = RunUrls.Where(q => q.Url == url).FirstOrDefault() != null;
            }
            if (resultFlag == false)
            {
                lock (((ICollection)MainUrls).SyncRoot)
                {
                    resultFlag = MainUrls.Where(q => q.Url == url).FirstOrDefault() != null;
                }
            }
            return(resultFlag);
        }