waphaoyun 发表于 2014-8-31 14:20:21

关于鸿哥程序第四十讲的“原子锁”

本帖最后由 waphaoyun 于 2014-8-31 14:31 编辑

感觉原子锁就是对变量的保护,使变量不能被同时赋值。
51单片机是单核的,也就是说 无论定时器中断还是串口中断中 ,都不会出现对同一个资源同时访问的情况,而是分时间片分别访问同一个变量,
从而感觉原子锁是没有必要的,

希望鸿哥可以帮忙简要回答一下,谢谢鸿哥!

我好像明白了:不是同时访问的问题,是时间片分配的问题,可能会出现一个赋值语句进行一半的时候 就把时间片分给了另一个语句的情况,从而造成
错误,原子锁是为了保证 变量能够一次正确赋值的,应该是这回事!

初学者,应该是我理解的不对,大家见笑了。。。



jianhong_wu 发表于 2014-8-31 23:14:22

没错。正如你后面所说的担忧,其实我也是那个担忧。

waphaoyun 发表于 2014-9-1 09:10:37

jianhong_wu 发表于 2014-8-31 23:14
没错。正如你后面所说的担忧,其实我也是那个担忧。

嗯 谢谢鸿哥

dong 发表于 2014-11-5 10:03:18

呵呵,原来如此。看鸿哥40节的代码,一直在想原子锁的作用。这个技巧蛮好
页: [1]
查看完整版本: 关于鸿哥程序第四十讲的“原子锁”