C#界面設計--6--“對象當前正在其他地方使用” --aviWriter.AddFrame(bitmap2)多線程錄像時出現-已解決

問題:

 aviWriter.AddFrame(bitmap2)多線程錄像時出現:“對象當前正在其他地方使用” 

 

原因:

Image.Save 方法不是線程安全的(很多GDI+的方法都不是線程安全的)。同時、對同一個Image對象實例進行處理,就可能會導致線程異常。

兩個線程同時訪問了同一幅圖像, 造成衝突。簡單的方法是在每個線程都要擁有自己的一份圖像副本。分別對自己的副本進行對寫操作。
 

解決:

對返回值的類型做調整:如果Image字段必須要,改用byte[]類型。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章