Parallel使用
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                Parallel使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                Parallel的靜態For,ForEach和Invoke方法
 Parallel是對Task的封裝,目的是簡化一些常見的編程情形中任務Task的使用,它內部使用Task。
 以上三者的編程情形:
 Parallel.For(0,1000,i=>DoWork(i));//指定某個操作的執行次數
 Parallel.ForEach(collection,item=>DoWork(item));//利用集合collection中的每一項item執行并發操作。
 Parallel.Invoke(
 ()=>Method1(),
 ()=>Method2(),
 ()=>Method3());//并發執行一些方法
注意:
 1.如果任何操作拋出未處理的異常,Parallel方法最后會拋出一個AggregateException
 2.并發的前提條件:
 1)工作項必須能并行之行
 2)避免過多的資源爭用,會導致上下文切換過于頻繁和鎖爭用問題。
 3.Parellel本身有開銷,所以如果并發執行的每一項都能很快執行,那么不應該使用并發執行。
 應用并發的場景:
 1)IO限制
 計算不復雜,但是需要等待操作完成,如訪問數據庫等耗時較長的操作就是IO限制。
 2)計算限制
 計算過于復雜,執行計算的線程需要耗很長時間才能結束計算。如果等待這個線程完成再執行別的操作,那么可能等很長時間
總結
以上是生活随笔為你收集整理的Parallel使用的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 选择合适的查毒时机
- 下一篇: rtorrent ubuntu端命令行种
