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