我想让 std::string 附加函数线程安全,因为我正在附加来自不同线程的特定字符串。
我是 C++ 的初学者,所以我不确定这可能会出现什么问题。
我正在考虑的解决方案是而不是使用somestring.append("appendthis");
使用以下代码:
bool appendtsReady = true;
void appendts(std::string& originalString, char* app)
{
while (!appendtsReady) {}
appendtsReady = false;
originalString.append(app);
appendtsReady = true;
}
appendts(somestring, "appendthis");
我希望如果正在附加字符串,则新请求
appendts(somestring, "appendthis_from_different_thread");
将被循环捕获,直到前一个附加完成。
这个解决方案是不是太天真了?