文章插图
1、原子操作是不可分割的,在执行完毕不会被任何其它任务或事件中断 。在单处理器系统*UniProcessor*中,能够在单条指令中完成的操作都可以认为是“原子操作”,因为中断只能发生于指令之间 。这也是某些CPU指令系统中引入了test_and_set、test_and_clear等指令用于临界资源互斥的原因 。
【原子性是什么意思 原子性意思是什么】2、在对称多处理器*SymmetricMulti-Processor*结构中就不同了,由于系统中有多个处理器在独立地运行,即使能在单条指令中完成的操作也有可能受到干扰 。
3、在x86平台上,CPU提供了在指令执行期间对总线加锁的手段 。CPU芯片上有一条引线#HLOCKpin,如果汇编语言的程序中在一条指令前面加上前缀LOCK,经过汇编以后的机器代码就使CPU在执行这条指令的时候把#HLOCKpin的电位拉低,持续到这条指令结束时放开,从而把总线锁住,这样同一总线上别的CPU就暂时不能通过总线访问内存了,保证了这条指令在多处理器环境中的原子性 。简单来讲:cpu是一条一条指令执行:如果读、写:则是两条指令,在并发情况下可能出问题原子性则是一条指令,完成读写操作 。
推荐阅读
- 怎么和女生说第一句话 怎么和陌生女生聊天
- 不会和女生聊天看这里 和女生聊天怎样才能避免尬聊
- 蓝色妖姬花语是什么意思
- Win10怎么清理电脑缓存垃圾文件夹?
- 自感系数很大的线圈说明什么 自感系数较大的线圈是什么意思
- 触手录APP怎么使用悬浮窗 具体操作步骤
- 里程换机票可以给别人吗
- 那些表现是在告诉你追到手了 追女生需要多久时间
- 微信七夕1314毫克黄金红包怎么发?微信七夕专属红包怎么发?