国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Parallel與PLINQ簡單示例

2019-11-14 14:12:22
字體:
來源:轉載
供稿:網友

    Parallel是對Task用法的簡化,含有Parallel.For、Parallel.ForEach、Parallel.Invoke三個靜態方法。PLINQ是并行版本的LINQ。下面給出Parallel和PLINQ的簡單示例及注意事項。

    一、簡單示例

    1、Parallel.For

            int[] nums = new[] { 1, 2, 3, 4 };            Parallel.For(0, nums.Length, i =>            {                Console.WriteLine("下標:{0},值:{1}", i, nums[i]);            });

    2、Parallel.ForEach

            var ltModel = new List<UserInfo>();            for (int i = 1; i <= 5; i++)            {                var item = new UserInfo { No = i, Name = "名字" + i };                ltModel.Add(item);            }            Parallel.ForEach(ltModel, item =>            {                Console.WriteLine("No:{0}, Name:{1}", item.No, item.Name);            });

    3、Parallel.Invoke

            var ltTask = new List<Action>();            for (int i = 1; i <= 5; i++)            {                int j = i;                ltTask.Add(() =>                {                    Console.WriteLine("啟動任務" + j);                });            }            Parallel.Invoke(ltTask.ToArray());

    4、PLINQ

            var ltNum = new List<int>() {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};            var resultNum = (from n in ltNum.asparallel() where n>=3 orderby n descending select n).ToArray();            foreach (var item in resultNum)            {                Console.WriteLine("Num: {0}", item);               }

    二、注意事項

    如果對集合的邏輯順序沒有要求,可以用Parallel和PLINQ,否則不能使用。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 五大连池市| 常熟市| 罗田县| 青河县| 旺苍县| 贺州市| 茂名市| 仙居县| 增城市| 黑水县| 稷山县| 桦甸市| 秦安县| 泽库县| 清苑县| 渭源县| 龙川县| 吴忠市| 盐池县| 多伦县| 南岸区| 宜州市| 古浪县| 唐河县| 措美县| 托克逊县| 津南区| 乌兰浩特市| 乐东| 武定县| 文水县| 邢台县| 兴化市| 文山县| 枣阳市| 大连市| 崇义县| 昭觉县| 海伦市| 大荔县| 乌苏市|