/// <summary>
        /// Initializes a new instance of the BackgroundThreadPool class
        /// </summary>
        public BackgroundThreadPool()
        {
            _threads    = new BackgroundThreadCollection();
            _jobQueue   = new BackgroundThreadPoolJobQueue();
            _maxThreads = BackgroundThreadPool.DefaultMaximumNumberOfThreads;

            this.StartProcessingJobs();
        }
        /// <summary>
        /// Initializes a new instance of the BackgroundThreadPool class
        /// </summary>
        /// <param name="maxThreads">The maximum numer of threads to use</param>
        public BackgroundThreadPool(int maxThreads)
        {
            _threads    = new BackgroundThreadCollection();
            _jobQueue   = new BackgroundThreadPoolJobQueue();
            _maxThreads = maxThreads;

            this.StartProcessingJobs();
        }
		/// <summary>
		/// Initializes a new instance of the BackgroundThreadPool class
		/// </summary>
		public BackgroundThreadPool()
		{
			_threads = new BackgroundThreadCollection();
			_jobQueue = new BackgroundThreadPoolJobQueue();
			_maxThreads = BackgroundThreadPool.DefaultMaximumNumberOfThreads;

			this.StartProcessingJobs();
		}
		/// <summary>
		/// Initializes a new instance of the BackgroundThreadPool class
		/// </summary>
		/// <param name="maxThreads">The maximum numer of threads to use</param>
		public BackgroundThreadPool(int maxThreads) 
		{
			_threads = new BackgroundThreadCollection();
			_jobQueue = new BackgroundThreadPoolJobQueue();
			_maxThreads = maxThreads;

			this.StartProcessingJobs();
		}