多线程编程时,为了避免锁,有时会采用数据多份copy的方式,但是如果把这些数据放在了同一个cache line里面,性能得不到提高,是因为cache line的false sharing问题,可以看下这篇文章http://software.intel.com/en-us/articles/avoiding-and-identifying-false-sharing-among-threads/
在gcc下对齐的指令为 __attribute__(aligned(64)),可以修饰变量。如果变量用这个指令修饰的话,指针的++操作就不正确了。
更多关于多线程的资料
http://software.intel.com/en-us/articles/intel-guide-for-developing-multithreaded-applications