[問題]平行處理

看板C_Sharp作者 (我想當鄉民)時間12年前 (2012/07/11 00:40), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
小弟目前撰寫一個即時影像視窗程式 原本的架構如下 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
文章代碼(AID): #1F_5i3-F (C_Sharp)