隔離做得好,誰(shuí)都沒(méi)煩惱!
【本文為51CTO專欄作者“劉欣”的原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)通過(guò)作者微信公眾號(hào)coderising獲取授權(quán)】
后記: 在編程領(lǐng)域,一旦和并發(fā)扯上關(guān)系,編程立刻就變得復(fù)雜起來(lái),多線程的交替執(zhí)行,結(jié)果不可預(yù)知,讓人防不勝防,數(shù)據(jù)庫(kù)領(lǐng)域更是如此,尤其是關(guān)系數(shù)據(jù)庫(kù)還要提供對(duì)事務(wù)的支持,要滿足原子性,一致性,隔離性,持久性這樣的準(zhǔn)則,實(shí)現(xiàn)起來(lái)更為麻煩。不過(guò)話說(shuō)回來(lái),正是由于關(guān)系數(shù)據(jù)庫(kù)提供了這樣關(guān)鍵的特性,才能把程序員從底層給解放出來(lái),想想看,如果要求在應(yīng)用層去實(shí)現(xiàn)ACID,那估計(jì)只有少數(shù)程序員才能把程序?qū)懞昧恕_@個(gè)漫畫主要想講解的是事務(wù)的隔離級(jí)別,就是說(shuō)兩個(gè)事務(wù)在執(zhí)行的時(shí)候,如果需要操作共同的值,一個(gè)事務(wù)的修改能否被另外一個(gè)事務(wù)看到的問(wèn)題。事務(wù)的隔離級(jí)別看起來(lái)很復(fù)雜,但是如果和排他鎖以及共享鎖結(jié)合起來(lái)看,其實(shí)挺直觀的,希望這篇文章能給大家?guī)?lái)一點(diǎn)啟發(fā)。