在linux上,何为原子操作?

原子操作关键在于不让其他因素打扰到指令的执行,并不是指令相对较短就是原子操作。因为会有中断或其他的机制等能破坏掉指令的顺序执行。操作系统本身会用到很多原子操作(比如进程管理和控制的大部分指令,消息的发送和接受等),也提供了某些包含原子操作的系统调用(库函数提供的锁和信号量最终也是系统的接口)。如果能自己控制中断,才能保证自己写的代码执行的时候是原子操作。锁和信号量就是解决无法保证你的代码是每句都是原子操作的情况下的同步问题。


作者:苏物生
链接:https://www.zhihu.com/question/46552411/answer/130714518
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

猜你喜欢

转载自blog.csdn.net/yuhengyue/article/details/79662873