印象中早期的wstring和string的實現都是基於引用計數然後再加copy-on-write的。
關於什麼是引用計數和copy on write,請大家自行搜索相關文檔。
基於引用計數和copy-on-write的實現不是線程安全的,不建議用在多線程環境中。這一思維
在很多文章裏出現了。 網上有很多文章也說明了wstring不適合用在線程安全的環境裏。
由於工作的關係,我看了VS2005平臺下的string和wstring的實現,發現這兩個實現
不是基於引用計數的。每次string拷貝的時候,都新申請了內存並用了memcpy來複制
字符串。由此可以知道VS 2005版本的實現不是基於引用計數的。
因此,在多線程環境裏共享wstring是不會發生問題的。 (當然不包括一個線程讀,一個線程寫的情況)