标签: c++ multithreading c++11 thread-local-storage
我想更新一个由多个线程更改的变量。
我可以使用单个原子变量,并以原子方式递增它,但据称慢。
建议的解决方案是分配一个线程局部变量,然后递增它。
thread_local unsigned int _tls_size = 0U; /* ... */ _tls_size++; /* ... */
这一步没问题,但问题是现在计算跨线程存储的所有_tls_size的总和。
_tls_size
有什么想法吗?我想过std::vector<unsigned int *>存储所有地址,但是:
std::vector<unsigned int *>
谢谢!