A想要從自己的帳戶中轉(zhuǎn)1000塊錢到B的帳戶里署海。那個(gè)從A開始轉(zhuǎn)帳,到轉(zhuǎn)帳結(jié)束的這一個(gè)過(guò)程肄方,稱之為一個(gè)事務(wù)冰垄。在這個(gè)事務(wù)里,要做如下操作:
1. 從A的帳戶中減去1000塊錢权她。如果A的帳戶原來(lái)有3000塊錢虹茶,現(xiàn)在就變成2000塊錢了。
2. 在B的帳戶里加1000塊錢隅要。如果B的帳戶如果原來(lái)有2000塊錢蝴罪,現(xiàn)在則變成3000塊錢了。
如果在A的帳戶已經(jīng)減去了1000塊錢的時(shí)候拾徙,忽然發(fā)生了意外洲炊,比如停電什么的,導(dǎo)致轉(zhuǎn)帳事務(wù)意外終止了,而此時(shí)B的帳戶里還沒有增加1000塊錢暂衡。那么询微,我們稱這個(gè)操作失敗了,要進(jìn)行回滾狂巢〕琶回滾就是回到事務(wù)開始之前的狀態(tài),也就是回到A的帳戶還沒減1000塊的狀態(tài)唧领,B的帳戶的原來(lái)的狀態(tài)藻雌。此時(shí)A的帳戶仍然有3000塊,B的帳戶仍然有2000塊斩个。
我們把這種要么一起成功(A帳戶成功減少1000胯杭,同時(shí)B帳戶成功增加1000),要么一起失斒苌丁(A帳戶回到原來(lái)狀態(tài)做个,B帳戶也回到原來(lái)狀態(tài))的操作叫原子性操作。