日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

原子性

發布時間:2024/4/17 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 原子性 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  原子性這個概念初想是非常簡單的。它表示一個操作序列就像一個操作一樣不被打斷,而不像一個操作序列一樣中間容許被打斷。但是細想下來還是挺有點意思的。首先需要確定的就是什么是一個操作?而什么不是一個操作卻是一個操作序列?其次需要確定的是如何叫做像?怎么著就是不像了?另外,還有一個牽扯進來的概念就是原子性的范圍和其在什么程度上實施這種保證。或許我這兒說的有點形而上,那我們就形而下的舉出例子抓住原子性這個概念的直觀感覺。?
  先舉一個CPU指令集中常見的一個指令:CAS。看到這個指令我就仿佛看到了大家臉上的某種意味的笑容。呵呵,是的,它完成兩個操作,一個比較,一個交換,后一個完不完成依賴于前一個操作的結果,從邏輯上說,它們是兩個操作,可是它們特意被實現為不可打斷的。這就是一個經典的原子指令。我們分析一下,這里面什么是我們前文提到的操作,什么是操作序列?什么是不容打斷性?其實現的范圍如何?其實現在什么程度上能保證不被打斷?比較和交換是上文提到的操作,它們的邏輯順序組合式操作序列,CPU在硬件級別實施了不容打斷性,由于CPU級別實現了這種不容打斷性,那么在整個計算機系統中其不容打斷性都得到了保證,也就是說,這種不容打斷性實現的范圍是全系統。只要計算機沒有斷電,器件正常而且正常運行,這種不容打斷性就是能夠保證的。顯然,計算機在執行該原子操作的一般的時候突然斷電,并不能保證原子性了。這就是該原子性的保證強度,可以說是比較強的。尤其是我們假設把計算機系統定義為run machine的時候,可以說在全系統的范圍都能得到強保證。?
看到這兒,我們總希望深入一步,CPU是如何實施這種保證的。雖說我并不想探討這個技術細節的問題(一般情況下,我更愿意探討概念而不是細節,原因是概念不變而物理實現細節恒變),但是還是有某些要求導致我需要探討物理實現。?
CPU 首先把這個操作序列實現為一條指令,然后采用某種措施保證該指令執行期間不會被打斷,一般情況下這種保證措施是總線的占據而不釋放。有時候有些人愿意把這個叫做總線鎖定。這就是實現方式,我不想更進一步的深入到如何鎖定總線而不釋放,如果有興趣知道,參見相關的硬件文檔。?
  通常情況下,與我們而言,我們要求更高級更符合我們需求的原子性,而不是CPU級別實現的原子性。最明顯的例子就是信號量相關P、V操作。P、V操作要求是原子性的。也就是說,無論是P(一直等到有信號狀態,然后置成無信號狀態,用語言描述就是while (s == 0) {wait}; s = s - 1),還是V(置成有信號狀態s = s + 1),都要保證其過程不被打斷。這時候,我們就是依賴于CPU給我們提供的原子性保證,來實現我們這個相對來說更高級一點的原子性的操作序列。它是如何實現的并不是我們關注的焦點,我們還是想要分析一下這個所謂的P、V原子性操作序列的實現特質。我們分析一下,這里面什么是我們前文提到的操作,什么是操作序列?什么是不容打斷性?其實現的范圍如何?其實現在什么程度上能保證不被打斷?第一個個問題似乎跟具體實現有關系,我們不深入討論什么是其操作步驟了,操作序列顯然就是P或者V本身的所有操作。它們的實現不容被打斷。這沒什么可說的,但我們馬上就遇到了真正有趣的問題的,實現范圍!在什么范圍內起保證不被打斷?在整個計算機系統?在一個進程中?或者還有什么別的范圍?顯然,這是一個問題。這里我并不想給出一個具體的說法,因為顯然可以有很多說法。那么,其實現在什么程度上保證不被打斷呢?顯然,這個問題跟實現范圍的問題有所糾纏,如果其實現范圍是全系統,那么在整個計算機系統的任意時間內,P、V操作都保證不被打斷,而如果其實現范圍是進程,那么在該進程活動步驟中,P、V操作保證不被打斷,但并不保證進程不會在正在執行P或者V操作的時候被打斷而切換到另一個進程中。更不要說計算機系統因故停機對它們的打斷了。?
  從上面的兩個形而下的例子中,我們是不是能比較清晰的給出一個關于“如何叫做像?怎么著就是不像了?”的一個答案了。?
最初我們的定義是其實現就是一個不容打斷的操作序列,現在我們看到,只要在某種范圍和程度上,看起來這個操作序列沒有被打斷就行了。這就使所謂的“像是沒有被打斷”的真實含義。?
下面我還想更進一步討論一下關于數據庫事務中的原子性問題。?
  數據庫事務中的原子性,可以用要么全做,要么不做來概括。看出來了么?它其實是上面原子性的目的。所以我們把數據庫中的事務的這個特性叫做原子性是相當切題的。但是它似乎跟我們所說的原子性有點微妙的區別。這是真的么??
其實我們還可以用上面的范圍和程度等來分析數據庫事務中的原子性的特征。這兒我就把它當成一個練習留給讀者了。我想順帶提一下的是:對于分布式數據庫事務的兩階段提交這個非常出名和非常聰明的保持原子性的辦法,是(似乎是)Jim Cray提出來的,他現在在Microsoft工作,而Microsoft的DTC可以說是分布式事務實現的鼻祖。看來我們也不能太看扁了 Microsoft:)。?
  現在我們是否可以回答原子性究竟是什么了呢?我打開門把你們迎接進來,卻沒有告訴你們正確的出口,這個答案得你們自己找。祝你們好運。

轉載于:https://www.cnblogs.com/Daniel-G/p/3190247.html

總結

以上是生活随笔為你收集整理的原子性的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 天天碰天天碰 | 九九热久久免费视频 | 黄视频在线观看免费 | 国产影视一区二区 | 亚洲精品久久一区二区三区777 | 狠狠干天天干 | 亚洲精品成人av | 红桃视频亚洲 | 免费国产高清 | 欧美午夜精品理论片a级按摩 | 性活交片大全免费看 | 丁香综合激情 | 国产裸体永久免费无遮挡 | 日韩五码在线 | 人与动物av| 精品伦精品一区二区三区视频密桃 | 久久精品噜噜噜成人 | 黄三级| 亚洲视频五区 | 婷婷色图| 欧美 日韩 国产 一区二区三区 | 九色亚洲| 欧美xxxx8888 | 国产在线一 | 成年人看的羞羞网站 | 影音先锋在线看片资源 | 中国女人性猛交 | 精品爆乳一区二区三区无码av | 国产精品毛片一区视频播 | 色欲av无码精品一区 | 秋霞视频一区二区 | 91九色成人| 日本午夜激情视频 | 99av视频| 一区二区三区国产在线 | 欧美激情国产日韩精品一区18 | 黄色a一级片 | 亚洲视频综合网 | 国语av | 天堂在线中文在线 | 欧美一区二区三区电影 | 肥臀熟女一区二区三区 | 国产在线观看xxx | 人人干超碰 | 欧美成人r级一区二区三区 中文无码一区二区三区在线观看 | 综合色视频 | 91综合国产 | 久久久久久久久91 | 视频一区二区中文字幕 | 免费观看黄色网 | 日韩制服在线 | 国产精品11 | 日本xxxx免费 | 黄色伊人 | 亚洲最大激情网 | 中文字幕五区 | 日本免费不卡一区二区 | 男人天堂综合 | 欧美黑人性生活 | 国产淫片av片久久久久久 | 一本亚洲 | 97视频总站 | 国产91国语对白在线 | 国产欧美三区 | 精品一区二区三区毛片 | 麻豆com| 男男黄网站 | 美女流白浆视频 | av资源在线播放 | 国产夜色精品一区二区av | 18禁裸乳无遮挡啪啪无码免费 | 欧美人与禽zozzozzo | 国产伦精品一区二区三区免费 | 欧美国产一级 | 成人午夜精品一区二区 | 日韩极品视频在线观看 | 激情文学亚洲 | 蜜桃精品在线 | 久久无码视频网站 | 欲求不满的岳中文字幕 | 狠狠干伊人 | 久热在线视频 | 色天天| 成人一区二区三区在线观看 | 亚州欧美日韩 | 国产日韩中文字幕 | 人妻丰满熟妇av无码区 | 久久人人爽爽人人爽人人片av | 香蕉伊人网 | 精精国产xxxx视频在线播放 | 国产在线麻豆精品观看 | 午夜一区二区三区在线 | 亚洲一二三区视频 | 大乳村妇的性需求 | 亚洲精品一区久久久久久 | 欧美做爰性生交视频 | 成人免费在线视频网站 | 久久国产热 | 捆绑少妇玩各种sm调教 |