原子操作与互斥访问关系分析

1476 人浏览 | 时间: 2015-06-24 23:53:25 | 作者: codexia

    原子操作,重点在于操作,然后才是修饰的特性“原子”。操作说的是,一个动作,就是一系列指令语句组成的一个功能动作,比如赋值,运算,最后输出。这三个步骤可以看成一个操作,也可以看成是三个操作。这里要强调的是,我们是谈动作,而不是某一个数据。只要完成了语句的执行,操作就完成了,这就是操作,一个单纯的动作。为什么我要这么说呢?因为很多人在思考这个问题时,总是将操作和数据混在一起考虑。这里就是想把你的思维先单纯化,先只看到操作。所以,到这里,你不要想其他的,知道操作是什么就行。操作就是执行语句。

    原子操作,最基础的意思就是,要么执行完毕,要么就不执行。请大家不要小瞧这几个字。就这么几个字,我才琢磨清楚。反而各种说法容易偏离主旨。原子操作意思就是把你要执行的操作当作原子一样,不可以再分。当然,原子操作在内部是可以分成多个步骤,成千上万条语句都可以。只不过,原子操作假借原子来形象的比喻这一系列操作要像原子一样,不可以再分,这只是一个人为的规定,是一个逻辑抽象的概念。虽然可以很多条语句,但是你得保证,要么全部执行完毕,要么一个也不执行。虽然就这么几个字的规定,但是蕴含大量信息。

    下面来仔细解释原子操作的这几个字的规定。

    原子操作,要么一个也不执行,要么全部执行。在数据库系统中,有一个事务的概念,其实就是原子操作。事务的机制,通过日志记录,保证了原子操作的特性。要么全部执行成功,如果执行几个语句后失败,执行过的语句必然对数据库有影响,但是没有执行完,会导致数据错乱。所以数据库通过日志倒着执行一次,就回滚了操作,保证了这个原子操作特性。从这里你也

请微信扫码阅读。
为防止恶意爬虫,
已开启反爬机制,
理解哟~~~~
标注
评论
站内搜
百度搜
传送到手机
手机扫码,识别文字,完成传送x
加载中...
标注内容x
加载中...
添加标注x
收藏 0 点赞 0