c#Task多核程式設計
之所以寫這篇文章是受到這篇文章的啟發,一老外寫的,很無私,
原文地址是: http://www.codeproject.com/Articles/362996/Multi-core-programming-using-Task-Parallel-Library
以前也老聽到過多核程式設計,有幸看了上面的這篇文章,想把自己的一些理解寫下來
1、為什麼要有多核程式設計的技術那,無非兩點,多核cpu的出現和經常出現一個cpu告訴執行,另一個cpu閒著,
cpu不應該是這種使用情況
應該是這種
2、C#(.net )對多核程式設計的支援,從.net 4.0 開始支援多核程式設計了,使用的namespace是System.Threading和System.Threading.Tasks
3、多核程式設計實現的程式比多thread實現的程式,效能要高,執行快,thread切換上下文很耗效能,尤其現在的計算機幾乎都是多核的
4、多核和執行緒池的比較,當需要等待多個執行緒完成向下執行,執行緒池很麻煩,task則很簡單
5、c#多核程式設計的簡單使用,其實主要是Task類使用
Task task = Task.Factory.StartNew(delegate);//委託型別可以使用lambda表示式,即開啟了一個任務
Task myTask =new Task(param);//另一種構造task的方法,委託引數中,可以給task傳參
task.start();//啟動任務
task.wait(fisishTask);//等待一個任務的完成,再執行
task.Result;//獲取task的執行結果
task.ContinueWith(anotherTask);//task結束後,執行anotherTask
Task.wait(task1,..);//等待多個任務的完成,否則一直阻塞
。。。。。。。。。就到這兒吧,用到task的其他功能,只要到msdn上查一下Task的使用就ok了。。。。。。。