[問題]平行處理
小弟目前撰寫一個即時影像視窗程式
原本的架構如下
class Myclass{
A(); // 影像二值化
B(); // DoSomething
}
A和B function是連續性的,也就是A做完之後才會去執行B
然而A function理面有許多的迴圈
我試著將A_method內的迴圈改成Parallel.ForEach的形式
但執行結果卻產生錯誤
我是參照這篇文章去做修改
http://www.dotblogs.com.tw/boodoo1121/archive/2010/01/24/13259.aspx
我加了lock也是一樣的結果
想請問板上各位大大 使用Parallel.ForEach資料平行處裡出錯的原因
會是因為裡頭有if的關係嗎?
第二個問題是Parallel.Invoke 和 System.Threading.Tasks提供的Task類別
其相同性是可以並行處理資料,但是其相異性呢?
第三個問題是想請問多執行緒程式,假如我想等這些多執行緒執行完
才接著執行下一個程式(不論是循序或是平行)
有什麼是我可以拿來管理我的程式呢?
我的觀念是 (有錯請務必指證)
Parallel.Invoke會自動處裡而不需要開發者煩心
Task有提供wait()可達成
那是否還有其它可以完成呢?
謝謝各位大大
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.118.17.116