使用原子操作-外军电台手册

时间:2024-06-27 16:33:58
【文件属性】:

文件名称:使用原子操作-外军电台手册

文件大小:1.39MB

文件格式:PDF

更新时间:2024-06-27 16:33:58

objective-c ios

4.5 使用原子操作 非阻塞同步的方式是用来执行某些类型的操作而避免扩展使用锁。尽管锁是同步 两个线程的很好方式,获取一个锁是一个很昂贵的操作,即使在无竞争的状态下。相 比,许多原子操作花费很少的时间来完成操作也可以达到和锁一样的效果。 原子操作可以让你在 32位或 64位的处理器上面执行简单的数学和逻辑的运算操 作。这些操作依赖于特定的硬件设施(和可选的内存屏障)来保证给定的操作在影响 内存再次访问的时候已经完成。在多线程情况下,你应该总是使用原子操作,它和内 存屏障组合使用来保证多个线程间正确的同步内存。 表 4-3 列出了可用的原子运算和本地操作和相应的函数名。这些函数声明在 /usr/include/libkern/OSAtomic.h 头文件里面,在那里你也可以找到完整的语法。 这些函数的 64-位版本只能在 64 位的进程里面使用。 Table 4-3 Atomic math and logic operations Operation Function name Description


网友评论