public PooledTaskRunner(Task task, int maxIterationsPerRun) { this.maxIterationsPerRun = maxIterationsPerRun; this.task = task; this._shutdown = false; this.iterating = false; this.queued = true; ThreadPool.QueueUserWorkItem(new WaitCallback(Run), this); }