jk4*_*736 9 c++ multithreading
我有几个类遭受缓存争用,并使用"new"运算符进行分配.我可以以某种方式确保"new"返回一个与缓存行对齐的地址吗?
我正在使用GCC(如果它不可能).
您可以使用placement new将对象构造到给定的内存区域:
// Instantiate object into a pre-allocated buffer
obj = new (buf) TheClass();
Run Code Online (Sandbox Code Playgroud)
要获得对齐的缓冲区buf,您可以使用memalign,sbrk或mmap。
| 归档时间: |
|
| 查看次数: |
840 次 |
| 最近记录: |