原子操作
来源:互联网 发布:linux内核版本 编辑:程序博客网 时间:2024/04/28 13:11
原子操作,atomic operation。google 了半天,答案最多的就是“一系列不可被打断的操作”,借鉴的物理里面最小的物质单位“原子”的概念。(至于还有夸克等等,不在此讨论范围之列)。
很想知道原子操能得以实现的底层原理是什么?CPU? 操作系统? 觉得和两者之间都有关系。
如果一个操作本身就可以用一条机器指令来完成,那么这个操作就应该是原子的。这是由CPU的运行原理来决定的。因为大部分的CPU在一条指令内部是不会被中断的。(原因好像是CPU在执行一条指令之前会先关中断吧。等指令执行完后才会再打开中断。 具体内容待重新查阅 计算机体系结构后 再确定)
可如果一个操作需要多条机器指令来完成呢,那单靠CPU是不是就不能够解决这个问题了。还得操作系统来协助。方法可能是在进程切换上动手脚吧。如果没有了进程的切换,相当于只有一个进程在执行,那所有的操作自然不会被中间打断了。(可参考一哥们写的《管窥OS——进程透明化》)
还有一种情况就是系统中可能会存在多个CPU的情况,这时候的原子操作就还得考虑多个CPU内的多个线程之间的协调问题了。唉,头都大了
- 原子操作
- 原子操作
- 原子操作
- 原子操作
- 原子操作
- 原子操作
- 原子操作
- 原子操作
- 原子操作
- 原子操作
- 原子操作
- 原子操作
- 原子操作
- 原子操作
- 原子操作
- 原子操作
- 原子操作
- 原子操作
- 淘客到底是什么及佣金的详细计算细则
- 我侄子出世了,呵呵
- 特殊的群体,特殊的情感
- 预留详解
- 淘宝网创造就业机会
- 原子操作
- 家有千金之妙语录(11)
- c#动态方法
- myeclipse7的svn操作
- Delphi选择文件夹
- WM移动类型 101 对于仓库 007 不允许
- java的时间操作
- how to deal with fdisk error: Re-reading the partition table failed with error 16: Device or resource busy.
- Tomcat内存设置方法(转)