c++ 11 特性随笔

来源:互联网 发布:java泛型里的? 编辑:程序博客网 时间:2024/06/12 00:51

thread_local 关键字


thread_local 修饰的变量, 会在每个thread 中有一个拷贝,之前遇到的一个问题是

在一个全局对象 g_db_access中, 有一个static 对象 query string,用于保存sql语句,

在使用db access时, 会将sql语句先灌入 query string中,然后执行。

当多线程并发调用g_db_access中的方法时,可能并发灌入query中,导致混乱。

当然,可以通过将query string改为栈变量解决。另外一个解决方法就是, 把query string改成thread local 修饰的。


原创粉丝点击