摘要: Interlocked系列函数可以对内存进行原子操作,它是如何实现的? 它的实现依赖于底层的CPU架构。对于某些CPU来说,这很简单,例如x86可以通过LOCK前缀直接支持Interlocked操作(有一个额外的特性就是XCHG指令总是隐式包含了LOCK前缀)。IA64和x64也直接支持原子的load-modify-store操作。 其它的多数CPU架构把这个操作分成两部分,被称为Load-link/store-conditional。第一部分(load-link)从指定内存地址读取一个值,并且处理器会监视这个内存地址,看是否有其它处理器修改该值。第二部分(store-conditional. 阅读全文
posted @ 2013-09-15 03:13 pianoid 阅读(3584) 评论(0) 推荐(0) 编辑