乙個簡單的例子說明原子性操作

2021-09-02 02:59:27 字數 556 閱讀 6790

原子性操作例子舉例:

a想要從自己的帳戶中轉1000塊錢到b的帳戶裡。那個從a開始轉帳,到轉帳結束的這乙個過程,稱之為乙個事務。

在這個事務裡,要做如下操作:

1. 從a的帳戶中減去1000塊錢。如果a的帳戶原來有3000塊錢,現在就變成2000塊錢了。

2. 在b的帳戶裡加1000塊錢。如果b的帳戶如果原來有2000塊錢,現在則變成3000塊錢了。

如果在a的帳戶已經減去了1000塊錢的時候,忽然發生了意外,比如停電什麼的,導致轉帳事務意外終止了,而此時b的帳戶裡還沒有增加1000塊錢。那麼,我們稱這個操作失敗了,要進行回滾。回滾就是回到事務開始之前的狀態,也就是回到a的帳戶還沒減1000塊的狀態,b的帳戶的原來的狀態。此時a的帳戶仍然有3000塊,b的帳戶仍然有2000塊。

我們把這種要麼一起成功(a帳戶成功減少1000,同時b帳戶成功增加1000),要麼一起失敗(a帳戶回到原來狀態,b帳戶也回到原來狀態)的操作叫原子性操作。

如果把乙個事務可看作是乙個程式,它要麼完整的被執行,要麼完全不執行。這種特性就叫原子性

乙個簡單的例子說明windows環境變數配置

配置環境變數其實就像是建立乙個快捷鍵一樣,我們把安裝程式的路徑告訴系統環境變數,這樣下次我們在命令列中就可以直接使用乙個簡單的命令來呼叫我們安裝的程式,因為此時計算機已經知道我們的命令是什麼意思,自動呼叫路徑下的程式,不然我們裝好了乙個軟體但是想從命令列中呼叫這個程式的時候,計算機並不知道我們輸入的...

乙個簡單css例子

lang en charset utf 8 css講解title rel stylesheet href style.css body div dd xddaa hover abc ulli first child ulli last child ulli nth child 3 ulli only...

乙個簡單的json例子

名稱 年齡郵箱 response.setcontenttype text html charset utf 8 response.setheader cache control no cache jsonobject json new jsonobject try json.put jobs mem...