单片机中的原子操作是指什么?
答案:3 悬赏:0 手机版
解决时间 2021-01-29 10:30
- 提问者网友:我们很暧昧
- 2021-01-29 06:32
单片机中的原子操作是指什么?
最佳答案
- 五星知识达人网友:酒安江南
- 2021-01-29 07:23
不止单片机,所有类似的计算机里都有这个概念。
这涉及到编译原理和多线程等相关的知识。
我们知道无论什么语言最终都是要编译成二进制去执行的。
以C语言为例,简单的 a=a*b;这样的语句编译之后其实是会变成几个二进制指令的,那么这就会造成一个问题,这个指令执行到一半的时候有可能被中断,大部分时候没什么影响,但是你如果中断处理程序或者另外的线程中操作了a或者b这个变量,结果很有可能会完全与你本意不一样,因为这个变量在外部被改变了。
原子操作指的就是不会被中断的操作。
在多线程之中一般会用锁做线程间的同步,避免多个线程同时操作同一段数据
这涉及到编译原理和多线程等相关的知识。
我们知道无论什么语言最终都是要编译成二进制去执行的。
以C语言为例,简单的 a=a*b;这样的语句编译之后其实是会变成几个二进制指令的,那么这就会造成一个问题,这个指令执行到一半的时候有可能被中断,大部分时候没什么影响,但是你如果中断处理程序或者另外的线程中操作了a或者b这个变量,结果很有可能会完全与你本意不一样,因为这个变量在外部被改变了。
原子操作指的就是不会被中断的操作。
在多线程之中一般会用锁做线程间的同步,避免多个线程同时操作同一段数据
全部回答
- 1楼网友:街头电车
- 2021-01-29 09:38
在C51中可以定义bit型变量,这种变量只有一位追问一个通用的解释是什么 很多单片机都有这个概念
- 2楼网友:痴妹与他
- 2021-01-29 08:13
过去曾经认为原子是不可分割的物质最小颗粒,所谓原子操作就是指不可被继续分割的一个或一系列操作。原子操作很多情况下等同于单指令周期的操作。由于不可被继续分割,原子操作对多线程而言是本质安全的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯