Пример #1
0
        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();
                }
            });
        }