關于寫寫并行 的想法
基于比較冰交換算法的無鎖并發控制方法。更新數據時使用cas(v,e,n)算法,v表示更新的變量,e,表示預期值,n表示新值只有v=e時才將v設置為n。如果v!=e說明其他線程對變量進行了修改,此時被告知失敗,但是該線程不會被掛起,并且允許再次嘗試。
基于比較冰交換算法的無鎖并發控制方法。更新數據時使用cas(v,e,n)算法,v表示更新的變量,e,表示預期值,n表示新值只有v=e時才將v設置為n。如果v!=e說明其他線程對變量進行了修改,此時被告知失敗,但是該線程不會被掛起,并且允許再次嘗試。
2017-05-29
舉報
2017-07-08
CAS應該不能這么用,我給你說說我的想法吧:
????????第一個參數V的本質是一個內存地址,也就是說得在內存中才行。而數據庫中的數據一般不再內存中,所以很可能在此之前出現IO操作。CPU可以保證CAS的原子性。但是不能保證CAS+IO的原子性。如果是對緩存中的數據操作,你的想法應該可行。其實這些太底層的東西我也不太敢過于思考。以上只是我的想法