[問題] 請問多執行緒這樣寫是否有問題?

作者: benbchung (距離...是妳經過我的時候)   2016-05-10 23:44:31
我使用VC C# 2010,Framework 3.5來編輯多執行緒程式。
我不曉得是否是我觀念有問題,程式偶而會出錯(執行緒的buffer偶發就null)。
想請教一下板上的前輩。
問題:
我建立了30個object,每個object裡面開一個thread(也就是有30個thread)
並且依序start這30個thread(幾乎同時開啟)。
每個thread function裡面我會再建立另一個區域的object
(假設物件名稱為A,30個thread就有30個物件A)。
這30個物件A我是用來計算大buffer的影像處理,並且我確定各物件A的buffer沒有共用。
但偶發就是會出現物件A的buffer在計算中突然變成null的情況
(但程式段落還沒到清除此buffer的地方,還很正常在使用)。
是否是會因為太多執行緒創建同一個私有的class物件,導致資料互相影響?
作者: Caesar08 (Caesar)   2016-05-10 23:47:00
如果你用thread才有問題,那就是你code有寫錯然後根據我的經驗,你如果不把code放上來,用說的根本沒辦法幫你debug
作者: TameFoxx (foxx)   2016-05-11 00:34:00
應該是你的物件A去跟大Buffer拿東西的時候不是複製一個副本看起來突然變null就是因為他在別的地方被Dispose?不過Dispose後好像不會顯示null.... 有點不確定
作者: Litfal (Litfal)   2016-05-11 09:06:00
>>這30個物件A我是用來計算大buffer的影像處理大buffer > A 你是怎麼做的?順便提醒一下,你這樣效率可能反而會差...
作者: johnpage (johnpage)   2016-05-11 11:54:00
工作內容沒分配

Links booklink

Contact Us: admin [ a t ] ucptt.com