上unanligned数据互锁操作
-
06-09-2019 - |
题
在Win32互锁函数提供对数据原子操作一个mecanism。他们应该是线程安全和多处理器安全。
如果数据不对齐,会发生什么?互锁行动仍在原子? 例:递增未对准的整数。
泰
解决方案
如果你读过大部分互锁API函数,有指定的线沿线的一些言论:
“变量指向的加数参数必须在32位边界对齐;否则,该功能将行为无法预测在多处理器x86系统和任何非x86系统参见_aligned_malloc。”
有关的例子,请参见本 MSDN文档一>
这基本上是说,你需要调整你的正确结果的数据,使用_aligned_malloc。
不隶属于 StackOverflow