併發的原子性和資料庫中的原子性有何區別

2021-09-25 19:29:23 字數 307 閱讀 2075

問題:併發程式設計中的原子性是什麼?資料庫的acid中,a也是指原子性,這兩個原子性之間完全一樣嗎?

解答:原子性是指:乙個操作是不可中斷的,要全部執行完成,要不就都不執行。

資料庫事務中,保證原子性通過事務的提交和回滾,但是在併發程式設計中,是不涉及到回滾的。

所以,併發程式設計中的原子性,強調的是乙個操作的不可分割性。

所以,在併發程式設計中,原子性的定義不應該和事務中的原子性完全一樣。

它應該定義為:一段**,或者乙個變數的操作,在沒有執行完之前,不能被其它執行緒執行。

mysql表設計原子性 資料庫表設計 原子性

好的資料結構會影響速度。好的資料庫表設計會影響資料庫操作效率。特別是資料多的時候,如果表的結構不好的話操作的時候條件 where後的內容 會變的非常複雜。sql是關聯式資料庫中用到的一種語言。所以,為了簡化sql,表的關係 內部和外部 要盡量設計的合理。下面有幾個可以參照的步驟 1 找出那個表要描述...

mysql原子性 MySQL事務的原子性

一 事務的acid特性 1 原子性 2 一致性 3 隔離性 4 永續性 二 對於事務的原子性 a 我們知道事務中的操作要麼都做要麼都不做。對於這一點許多人有錯誤的理解,我們來看乙個例子 1 mysql select from t4 id name 1 a 2 b 3 c 3 rows in set ...

程式的原子性

a想要從自己的帳戶中轉1000塊錢到b的帳戶裡。那個從a開始轉帳,到轉帳結束的這乙個過程,稱之為乙個事務。在這個事務裡,要做如下操作 1.從a的帳戶中減去1000塊錢。如果a的帳戶原來有3000塊錢,現在就變成2000塊錢了。2.在b的帳戶裡加1000塊錢。如果b的帳戶如果原來有2000塊錢,現在則...