91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

并行Linq

發布時間:2020-07-23 17:54:13 來源:網絡 閱讀:636 作者:1473348968 欄目:編程語言
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections.Concurrent;
using System.Threading;
using System.Diagnostics;

namespace ConsoleApplication5
{
    class Program
    {
        static void Main(string[] args)
        {
            //并行LINQ
            //******************************************************
            //測試時間
            Stopwatch sw = Stopwatch.StartNew();
            long l = sw.ElapsedMilliseconds;
            //******************************************************
 
            const int maxsize = 100000000;
            var data = new int[maxsize];
            Random ran = new Random();
            for (int i = 0; i < maxsize; i++)
            {
                checked
                {
                    data[i] = ran.Next(40);
                }
            }
            //===========================================并行查詢
            //AsParallel() 啟用查詢的并行化
            //AsParallel() 返回ParallelQuery<T>,所以Where()、Select()等方法不在返回IEnumerable<T>,而返回ParallelQuery<T>
            var query = (from r in data.AsParallel()
                         select r).Take(20).Select(r => r);
            Foreach(query);
            Console.WriteLine(data.AsParallel().Where(r => r < 20).Sum());

            //===========================================分區器
            List<int> il = Enumerable.Range(0, 10000).ToList();
            //WithExecutionMode(ParallelExecutionMode.ForceParallelism) //強制并行化整個查詢
            //WithDegreeOfParallelism() //指定最大任務數
            var query2 = (from r in Partitioner.Create(il, true).AsParallel().WithExecutionMode(ParallelExecutionMode.ForceParallelism)
                          where r < 20
                          select r).Sum();
            Console.WriteLine("====================================");
            Console.WriteLine(query2);
            Console.WriteLine("====================================");
            //===========================================取消長時間運行的任務
            var token = new CancellationTokenSource();
            new Thread(() =>
            {
                try
                {
                    var query3 = (from r in il.AsParallel().WithCancellation(token.Token)
                                  where r < 20
                                  select r
                                    ).Sum();
                    Console.WriteLine(query3);
                }
                catch (Exception e) { Console.WriteLine(e); }
            }).Start();
            if (Console.ReadLine() == "y" || Console.ReadLine() == "Y")
            {
                token.Cancel();
            }

            Console.ReadKey();
        }
        public static void Foreach<T>(IEnumerable<T> s)
        {
            Console.WriteLine("==================================");
            foreach (var item in s)
            {
                Console.WriteLine(item);
            }
        }
    }
}

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

始兴县| 抚宁县| 呼和浩特市| 荔浦县| 白沙| 日喀则市| 拉孜县| 东城区| 堆龙德庆县| 固安县| 武威市| 衡山县| 房山区| 珠海市| 云林县| 镇江市| 华池县| 淮北市| 陆河县| 英超| 密山市| 吴堡县| 玉田县| 东至县| 松潘县| 永仁县| 丹寨县| 雷山县| 彭州市| 洞口县| 聊城市| 连云港市| 常宁市| 苏尼特左旗| 巴东县| 庆安县| 开原市| 城步| 荆门市| 郓城县| 若羌县|