程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# 並行執行

C# 並行執行

編輯:C#入門知識

任務並行庫 (TPL) 基於“任務”的概念,可代表異步操作。 在某些方面,任務類似於線程或 ThreadPool 工作項,但是抽象級別更高。 術語“任務並行”是指一個或多個獨立的任務同時運行。 任務提供兩個主要好處:

  • 系統資源的使用效率更高,可伸縮性更好。

    在後台,任務排隊到 ThreadPool,其已使用算法進行增強,這些算法能夠確定並調整到可提供最大化吞吐量負載平衡的線程數。 這會使任務相對輕量,您可以創建很多任務以啟用細化並行。

  • 對於線程或工作項,可以使用更多的編程控件。

    任務和圍繞它們生成的框架提供了一組豐富的 API,這些 API 支持等待、取消、繼續、可靠的異常處理、詳細狀態、自定義計劃等功能

    //並行執行方法 ALL_Products是一個方法
    
    System.Threading.Tasks.Parallel.Invoke(() => ALL_Products(iWine));
    
      /// 
            ///好評排行(重新賦值)並行循環
            /// 
            /// 產品好評
            /// 
            private List Copey_Pro2(List OladData)
            {
                List utlist = new List();
                if (OladData == null)
                {
                    return utlist;
                }
              
                System.Threading.Tasks.Parallel.ForEach(OladData,item =>
                {
                    //foreach (ChartProScoreDto item in OladData)
                    // {
                    ChartProScoreDto NewPro = new ChartProScoreDto();
    
    
                    EnYuan.DEV.Mongo.EntityHelper.CopyProperties(item, ref NewPro);
                    var place = Get_TastPlace(item.PlaceId);
                    var pro = GetProduct(item.ProId);
                    if (place != null)
                    {
                        NewPro.PlaceId = place.Name;//體驗點名稱
                    }
                    if (pro != null)
                    {
                        NewPro.ProId = pro.Name;//產品名稱
                    }               
                    lock (utlist)
                    {
                        utlist.Add(NewPro);
                    }
                    // }
                });
                //排序
                return utlist.OrderByDescending(c => c.Score).ToList();
            }


    更多介紹到:http://msdn.microsoft.com/zh-cn/library/dd537609(v=vs.110).aspx


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved