好久没写多线程了,工作好几年也没怎么大规模的写过多线程,都是成形的架构里写业务逻辑.偶尔自己写了下,各种踩坑... 1.string 不是线程安全的 一个特例是std::string.在一些STL的实现厂商(包括MS VC6),使用的是带引用计数的string! 这就意味着可能有两个std::string的实例共享着同一块底层数据.这使得前面说的第一个规则被打破! 看一下这样的代码: string s1= “abcd”; string s2 = s1; 在引用计数的实现版本中,这几句话意味着:先…