原子性是什么意思 原子性意思是什么


原子性是什么意思 原子性意思是什么

文章插圖
1、原子操作是不可分割的,在執行完畢不會被任何其它任務或事件中斷 。在單處理器系統(UniProcessor)中 , 能夠在單條指令中完成的操作都可以認為是“原子操作” , 因為中斷只能發生于指令之間 。這也是某些CPU指令系統中引入了test_and_set、test_and_clear等指令用于臨界資源互斥的原因 。
2、在對稱多處理器(SymmetricMulti-Processor)結構中就不同了,由于系統中有多個處理器在獨立地運行,即使能在單條指令中完成的操作也有可能受到干擾 。
【原子性是什么意思 原子性意思是什么】3、在x86平臺上,CPU提供了在指令執行期間對總線加鎖的手段 。CPU芯片上有一條引線#HLOCKpin,如果匯編語言的程序中在一條指令前面加上前綴LOCK , 經過匯編以后的機器代碼就使CPU在執行這條指令的時候把#HLOCKpin的電位拉低,持續到這條指令結束時放開,從而把總線鎖?。庋蛔芟呱媳鸕腃PU就暫時不能通過總線訪問內存了,保證了這條指令在多處理器環境中的原子性 。簡單來講:cpu是一條一條指令執行:如果讀、寫:則是兩條指令,在并發情況下可能出問題原子性則是一條指令,完成讀寫操作 。