小编use*_*015的帖子

锁定与(try_lock,睡眠,重复)性能

我正在更新一些代码,我遇到了几个正在使用这些行的互斥锁:

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 方法与直接锁定互斥锁是否有任何积极或消极的性能差异,或者只是浪费指令?

c++ multithreading mutex locking thread-safety

4
推荐指数
1
解决办法
4751
查看次数

使用 c_str() 和 const char * 进行适当的内存清理

我有一个接受 (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 中内存位置的指针...

c++ memory-management const-char stdstring

3
推荐指数
1
解决办法
1125
查看次数