一個關于vector在讀取和壓入技巧性的效率優化
在多線程過程中,對于線程間的數據共享同步問題,具體針對多線程需要對一個Vector進行讀與寫的操作,不考慮緩沖區的操作,一般情況下為了保證穩定性的同時在讀寫的時候都要進行加鎖,其實可以通過一個技巧,就是通過一個臨時變量在寫數據的時候把第一個值付給臨時變量,那么在讀取數據的線程中會直接讀取臨時變量,此時只需要加鎖一次即可。我寫了一個測試例子,就是關于開3個讀,寫,刪的操作。。。一般情況進行加鎖,與通過通過臨時變量來減少一次加鎖速度與效率明顯低于后者。
針對1000000個數據的操作,操作1比操作2快2倍以上。
下面是我的測試代碼,簡單。。。只是為了說明問題
/Files/expter/l_thread.rar