1. 程式人生 > >多線程操作數據拷貝要加線程鎖

多線程操作數據拷貝要加線程鎖

-a article 關系 deb popu 過程 切換 div 中一

debug三天之後。在今天最終發現了自己開的兩個線程(一個接收數據。一個處理數據)所處理的數據並不相等。用compare比較後發現數據有所偏差,處理線程的數據存成文件之後隔一段都要比接收線程少一點。少的頻率跟線程之間的切換次數又有關系,這就讓人直接懷疑是不是內存拷貝發生了錯誤,結果查了全部的語句都沒發現問題。最後突然想到多線程在數據拷貝的過程中一旦遇到線程切換會導致不確定的因素發生,於是在線程拷貝數據的地方加上線程鎖。bug解決!

多線程操作數據拷貝要加線程鎖