日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

c#进阶(1)—— Task Parallel Library 并行执行与串行执行

發布時間:2023/12/10 C# 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c#进阶(1)—— Task Parallel Library 并行执行与串行执行 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文參考的博文出處:http://www.cnblogs.com/stoneniqiu/p/4857021.html

總體說明:

(1)、理解硬件線程和軟件線程

  硬件線程也稱為邏輯內核,一個物理內核可以使用超線程技術提供多個硬件線程。所以一個硬件線程并不代表一個物理內核;Windows中每個運行的程序都是一個進程,每一個進程都會創建并運行一個或多個線程,這些線程稱為軟件線程。硬件線程就像是一條泳道,而軟件線程就是在其中游泳的人。

(2)Net Framework4 引入了新的Task Parallel Library(任務并行庫,TPL),它支持數據并行、任務并行和流水線。讓開發人員應付不同的并行場合。

  • 數據并行:有大量數據需要處理,并且必須對每一份數據執行同樣的操作。比如通過256bit的密鑰對100個Unicode字符串進行AES算法加密。
  • 任務并行:通過任務并發運行不同的操作。例如生成文件散列碼,加密字符串,創建縮略圖。
  • 流水線:這是任務并行和數據并行的結合體。

? ? TPL引入了System.Threading.Tasks ,主類是Task,這個類表示一個異步的并發的操作,然而我們不一定要使用Task類的實例,可以使用Parallel靜態類。它提供了Parallel.Invoke, Parallel.For Parallel.Forecah 三個方法。

一、業務場景

  目前在模擬工作中可能遇到的一個場景,從中間服務器讀取xml文件,分別為兩法刑事案件信息,兩法行政案件信息(目前模擬的兩個xml文件單詞導入的業務數據量在20000~30000條左右),對應兩張數據庫表為[Sys_TwoLawsConvergence_AdministrationCase]、[Sys_TwoLawsConvergence_PoliceCase],表結構及具體字段如下所示。

  其中,主鍵并非為自增,主鍵的維護由對接應用系統統一提供(目前并未建立任何索引,后期準備深入研究一下 sql server 的 b樹索引及位圖索引)。

  考慮到,同時向兩張數據表插入數據,除去使用多線程同時寫入外,.net framework 4.0 提供了新的Task Parallel Library(任務并行庫,TPL),它支持數據并行、任務并行和流水線。在此業務場景,我采用了最簡單的方法,及Parallel類的Invoke()方法,通過Stopwatch,準確測量并行執行插入數據與串行執行插入數據在執行效率上的對比。

二、具體實現

  定義了NetCloudPoliceInsertData、NetCloudAdministrationInserData類,分別為兩法刑事案件信息寫入類及兩法行政案件信息寫入類具體結構及方法如下

?  (1)NetCloudPoliceInsertData類

?

  其中DataAccessFactory.Instance().GetDataAccess("Sql Server");DataAccessFactory為自定義的數據訪問類,此處工廠模式保證工廠類對象在內存中有且僅有一個,每一次GetDataAccess()都會創建一個數據庫連接(非連接池的方式),寫入庫表的方式采用批量執行

? (2)NetCloudAdministrationInserData類

三、并行執行與串行執行效率比較

(1) Execute

  其中 Parallel靜態類的Invoke方法注釋為【盡可能并行執行提供的每個操作】,在輸出執行語句后,可以看到并行執行的執行效果,如下圖所示:

四、運行結果比較

并行執行結果時間:

串行執行結果時間:

并行執行在時間上比串行執行時間上少2分鐘左右,此次導入的數據量為20000條,后期會追加大數量的導入,以檢驗并行執行的效果。

?

總結

以上是生活随笔為你收集整理的c#进阶(1)—— Task Parallel Library 并行执行与串行执行的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 夜夜操夜夜骑 | sesese99| 国产精欧美一区二区三区白种人 | 野外做受又硬又粗又大视频√ | 亚洲乱码精品 | 猛男大粗猛爽h男人味 | 久久婷婷五月综合 | 亚洲国产精品激情在线观看 | 五月激情婷婷丁香 | 日韩视频中文字幕 | 高清无码视频直接看 | 尤物在线观看 | av福利院 | 茄子av| 亚洲88av | 日韩成人免费 | 香蕉视频久久 | 亚洲欧美va天堂人熟伦 | 懂色中文一区二区在线播放 | 日韩少妇| 狠狠爱综合网 | 97免费在线观看视频 | 天天草比 | 国产一级视频免费观看 | 国内视频精品 | 欧美一区二区三区四区五区六区 | 少妇精品偷拍高潮白浆 | 官场艳妇疯狂性关系 | 午夜爽爽爽 | 国产激情久久 | 蜜桃又黄又粗又爽av免 | 国产小视频你懂的 | yjizz视频网| 日韩精品免费在线观看 | 色视频在线播放 | 4438全国最大成人网 | 日本视频免费观看 | 成人91| 三级av毛片 | 精品综合久久久久 | 中文字幕人妻精品一区 | 国产成人精品亚洲线观看 | 国产色啪 | 999精彩视频 | 国产中文字幕一区二区三区 | 成人午夜免费在线观看 | 国产精品国产三级国产aⅴ 欧美bbbbbbbbbbbb18av | 无遮挡裸光屁屁打屁股男男 | 欧美日韩亚洲激情 | 精品国产一区二区三区四区阿崩 | 蜜桃视频一区二区三区在线观看 | 国产午夜三级一区二区三 | 男女天堂av| 日韩一级黄色大片 | 校园春色在线观看 | www视频免费在线观看 | 色视频一区 | 久久久国产一区 | 国产精品无码久久久久久 | 三级免费观看 | 99色图 | 一区二区片 | 大桥未久av在线播放 | 91瑟瑟 | 精品少妇久久久久久888优播 | 叶山小百合av一区二区 | 久久亚洲AV成人无码国产人妖 | 日本妇女毛茸茸 | 在线观看黄色免费网站 | av合集| cao国产| 国产少女免费观看高清 | 狠狠操亚洲 | av色网站 | 色版视频| 中文在线视频 | 国产成人精品影院 | 国产大屁股喷水视频在线观看 | 蜜臀久久99精品久久久久宅男 | 欧美日韩国产一区二区在线观看 | 天堂久久久久 | 精品无码黑人又粗又大又长 | 吻胸摸激情床激烈视频大胸 | 性做久久久久久久久 | 人人爽人人 | 免费观看视频在线观看 | 国产调教av| 污污网站在线 | 久久人人爽爽人人爽人人片av | 久久亚洲一区二区 | 搡老岳熟女国产熟妇 | 亚洲精品在线视频免费观看 | 亚洲六月丁香色婷婷综合久久 | 青苹果av| 欧美不卡 | 国产做受高潮漫动 | 粉嫩av国产一区二区三区 | 久草中文网 | 中文字幕xxx |