private void ProcessPoolResources(ResourcePool <Course> pool) { Parallel.For(1, 1000000, (i, loopState) => { var course = pool.Get(); try { Console.WriteLine($"Student Name: {course.GetStudentById(i)}"); } finally { pool.Return(course); } if (_cancellationTokenSource.Token.IsCancellationRequested) { loopState.Stop(); } }); }