C#/.NET 并行编程Parallel常用语法详解

点击此进入C#/.NET异步编程【目录】


Parallel用于并行编程,它是在Task的基础上做了封装 4.5

1、Parallel.Invoke 主要用于任务的并行

这个函数的功能和Task有些相似,就是并发执行一系列任务,然后等待所有完成。和Task比起来,省略了Task.WaitAll这一步。它有两种形式:

Parallel.Invoke( params Action[] actions);
Parallel.Invoke(Action[] actions,TaskManager manager,TaskCreationOptions options);

        /// 
        /// 尽可能并行执行多个任务
        /// 
        public void StartManyTask()
        {            
            Parallel.Invoke(
                () => { },
                () => { },
                () => { });
        }

2、Parallel.ForEach并行循环迭代运行

        /// 
        /// 并行循环迭代运行
        /// 
        public void CycleStartTask()
        {
            Parallel.For(0, 5, i => { });
            Parallel.ForEach(new string[] { "0", "1", "2", "3", "4" }, i => { });
        }

3、ParallelOptions 可以控制并发数量

        public void LimitThreadCount()
        {
            int maxCount = 5;
            //parallelOptions 可以控制并发数量
            ParallelOptions parallelOptions = new ParallelOptions();
            parallelOptions.MaxDegreeOfParallelism = maxCount;
            Parallel.For(0, 10, parallelOptions, i => { });
        }

你可能感兴趣的:(【C#/.NET,异步编程】)