C# 并行编程 之 PLINQ 基本使用

PLINQ Summary

LINQ (LINQ) Language Integrated Query 可以方便的查询并处理不同数据源的数据。PLINQ Parallel LINQ不光拥有LINQ的功能,还添加了并行操作的接口,以方便使用并提高效率。

更详细的信息: https://msdn.microsoft.com/zh-cn/library/dd460688(v=vs.110).aspx

一个简单的例子

用一个简单的例子足以说明PLINQ的使用。
简单的说明:
第一部分:先在一个文档中查询包含字母 “a”的单词首先使用 LINQ进行查询10000次,然后使用PLINQ进行同样的测试,看看效率有多少提高。 AsParallel() 是主要用到的接口。

第二部分:计算Short类型所有数字的和,同样测试两次使用LINQ和PLINQ。

第三部分:测试PLINQ的查找排序功能。使用的接口分别为AsOrdered()和orderby
AsOrdered:保持数据在数据源中的顺序不变。
orderby:按用户指定的顺序进行排序,升序/降序

示例程序:

using System;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Diagnostics;
using System.Linq;
using System.IO;

namespace Sample6_1_plink_basic
{
    class Program
    {
        static int SumDefault(int[] array)
        {
            return array.Sum();
        }

        static int SumAsParallel(int[] array)
        {
            return array.AsParallel().Sum();
        }

        static string[] words = { "Day", "Car", "Land", "Road", "Sea", "Mountain", "River"};

        static void Main(string[] args)
        {
            var customers = System.IO.File.ReadAllLines(@"D:\testdir\CSParallel_Program\Sample6-1 plink basic\target.txt");
            int nCounter = 0;
            Console.WriteLine("============================================================");
            Console.WriteLine("TEST NORMAL LINQ")
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值