日韩欧美人妻无码精品白浆,www.大香蕉久久网,狠狠的日狠狠的操,日本好好热在线观看

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

C#并行編程極大提升集合處理速度

admin
2025年4月27日 15:52 本文熱度 1023

我們在開發(fā)C#程序的時候,有時候遇到一些非常多的數(shù)據(jù)需要處理,尤其是我們要對一個集合中的數(shù)據(jù)做相同操作,這個集合中又包含了多個數(shù)據(jù),我們一般使用for循環(huán)對集合中的每個數(shù)據(jù)分別處理,這樣處理起來可能需要花費很多的時間,那么有沒有能夠優(yōu)化這個處理時間的方法呢,本文就來幫助大家解決這個問題!

1、傳統(tǒng)foreach循環(huán)處理

下面的代碼中使用Initialtest方法首先從本地讀取一個文件名叫 "蘋果.jpeg"的圖像,然后使用gdi技術復制這個圖像200遍,然后把這200個圖像存到ImageParamList 這個集合中,然后我們把這200個圖像保存到本地電腦中,由于圖像數(shù)據(jù)比較多,所以保存起來的速度比較慢,比如我這里定義了一個SavaImage方法,該方法使用foreach循環(huán)將ImageParamList 集合中200個圖像分別保存,在我的電腦上使用了差不多20秒,

 public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();            Initialtest();        }

        private void Initialtest()        {            List<ImageParam> ImageParamList = new List<ImageParam>();
            for (int i = 0; i < 200; i++)            {                string fileName = "蘋果.jpeg";                using (FileStream fs = new FileStream(fileName, FileMode.Open))                {                    ImageParam imageParam = new ImageParam();                    Bitmap bitmap = new Bitmap(fs);
                    Bitmap newBitmap = new Bitmap(bitmap.Width, bitmap.Height);                    Graphics g = Graphics.FromImage(newBitmap);                    g.DrawImage(bitmap, new Point(00));                    bitmap.Dispose();
                    imageParam.Index = i;                    imageParam.img = newBitmap;                    ImageParamList.Add(imageParam);                }            }
            DateTime startTime = DateTime.Now;            SavaImage(ImageParamList);            DateTime endTime = DateTime.Now;            double diffTime = (endTime - startTime).TotalMilliseconds;            Console.WriteLine(diffTime);        }
        private void SavaImage(List<ImageParam> ImageParamList)        {            foreach (var item in ImageParamList)            {                string fileName = $"{item.Index }.bmp";
                item.img.Save(fileName);            }        }    }

    class ImageParam    {        public int Index { getset; }
        public Bitmap img;    }

2、并行處理

為了加快圖像保存的速度,我們使用C#中的并行計算功能,所謂并行計算在C#中其實使用了多個線程同時對集合中的數(shù)據(jù)進行處理,這樣能夠充分利用電腦資源來加速對集合數(shù)據(jù)的處理,我這里定義了一個SavaImageParallel方法,對集合調用AsParallel().ForAll(),這個ForAll里面?zhèn)魅氲氖且粋€委托,這樣就能實現(xiàn)并行處理,經(jīng)過實際測試SavaImageParallel方法使用并行處理后,200個圖像存儲到本地只需要3秒,快了7倍左右,堪稱程序性能優(yōu)化的神器,兄弟們快在項目中用起來吧!

 private void SavaImageParallel(List<ImageParam> ImageParamList)    {        ImageParamList.AsParallel().ForAll(item => {            string fileName = $"{item.Index }.bmp";            item.img.Save(fileName);        });    }


該文章在 2025/4/27 18:38:19 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業(yè)務管理,結合碼頭的業(yè)務特點,圍繞調度、堆場作業(yè)而開發(fā)的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

操老太太骚逼综合网站| 好看的在线va| 国产 一区二区 不卡 菠萝视频| 精彩视频-区二区| 国产亚洲精品视频这里只有精品| sewuyue成人| 日本一线二线乱码精品 | 国产日骚中文一二| 呼伦贝尔市| 殴州一级大黄片| 97精品免费公开在线公开视频| 中文天堂一区二区| 成人亚洲一区二区三区| 911精品国产熟妇AⅤ一区二区| 亚洲日韩欧美综合在线一区二区4k| 日韩精品成人在线播放| 操B黑鸡巴美国国产偷拍| av之家黄色| 一区二区三区欧美熟女| 色欲av夜夜嗨av性色av| 午夜推油| 久久亚洲一区二区| 一区二区三区 色| 麻豆传媒线上电影| 一二区三区看片| 网友自拍偷拍二区一区| 久久精品不卡| 色大师免费一区二区三区| 日韩av码精品免费| 美女黄色黄区精品一区| 国产日韩欧美色系午夜| 呦呦,色| 国产成人在线大香蕉| 中文字幕久久丁香五月天| 欧美理论在线免费观看| h无码网站| 日本偷拍在线观看| 亚洲欧美欧美一区二区三区| 欧美在线v| 欧美三级人妇| 韩国久久久久久久久久久|