Joh*_*ell 13 c++ multithreading stl
我们正在使用
std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>> converter;
Run Code Online (Sandbox Code Playgroud)
在我们的记录器中,从遗留组件获取UTF-16字符串并将其转换为我们写入日志的UTF-8.转换器在每次转换时都会被实例化,我们就这样做了
auto utf8string = converter.to_bytes(utf16string);
Run Code Online (Sandbox Code Playgroud)
这是在我们代码的一个相当密集和多线程的部分完成的,我想重用一个转换器的实例,但是seing std::wstring_convert暴露了一个"状态",我担心这to_bytes不是线程安全的通过重用相同的实例可以获得的收益会因为需要过多的锁定而丢失(在这种情况下我不会共享实例).
那么,std::wstring_convert<>::to_bytes线程安全吗?
编辑:澄清我真正的问题:给定一个实例std::wstring_convert<>,如果2个或更多线程同时to_bytes使用不同的参数调用该实例,to_bytes那么保证表现良好吗?