Run() public method

Run this job.
public Run ( ) : void
return void
Beispiel #1
0
        /// <summary>
        /// Start the job, block until its done.
        /// </summary>
        public virtual void Process()
        {
            _totalTasks = LoadWorkload();

            if (ThreadCount == 1)
            {
                Object task;
                int    currentTask = 0;

                while ((task = RequestNextTask()) != null)
                {
                    currentTask++;
                    var context = new JobUnitContext {
                        JobUnit = task, Owner = this, TaskNumber = currentTask
                    };
                    var worker = new JobUnitWorker(context);
                    worker.Run();
                }
            }
            else
            {
                Parallel.For(0, _totalTasks, currentTask =>
                {
                    Object task = RequestNextTask();
                    var context = new JobUnitContext {
                        JobUnit = task, Owner = this, TaskNumber = currentTask
                    };
                    var worker = new JobUnitWorker(context);
                    worker.Run();
                });
            }
        }
        /// <summary>
        /// Start the job, block until its done.
        /// </summary>
        public virtual void Process()
        {
            _totalTasks = LoadWorkload();

            if (ThreadCount == 1)
            {
                Object task;
                int currentTask = 0;

                while ((task = RequestNextTask()) != null)
                {
                    currentTask++;
                    var context = new JobUnitContext { JobUnit = task, Owner = this, TaskNumber = currentTask };
                    var worker = new JobUnitWorker(context);
                    worker.Run();
                }
            }
            else
            {
                Parallel.For(0, _totalTasks, currentTask =>
                {
                    Object task = RequestNextTask();
                    var context = new JobUnitContext { JobUnit = task, Owner = this, TaskNumber = currentTask };
                    var worker = new JobUnitWorker(context);
                    worker.Run();

                });
            }
        }