我正在更新一些代码,我遇到了几个正在使用这些行的互斥锁:
while (!mutex_.try_lock())
sleep_for(milliseconds(1));
Run Code Online (Sandbox Code Playgroud)
而不是直接锁定互斥锁:
mutex_.lock();
Run Code Online (Sandbox Code Playgroud)
使用 try lock 和 sleep 方法与直接锁定互斥锁是否有任何积极或消极的性能差异,或者只是浪费指令?
我有一个接受 (char* const*) 的函数。我提供的数据在 std::string 中。所以我这样做:
void blahblah(std::string str)
{
const char * cc = str.c_str();
ConstCharFunction(&cc);
}
Run Code Online (Sandbox Code Playgroud)
这很好用。我的问题是我是否需要清理 const char ala 使用的内存:
delete cc;
Run Code Online (Sandbox Code Playgroud)
或者 cc 只是一个指向 std:string 中内存位置的指针...