while (true)
{
m.lock();
if (i <= 0)
{
m.unlock();//这里忘了释放锁了,导致其他线程无法退出
break;
}
else
{
log("id = %d,static int i = %d", id, i--);
m.unlock();
}
}提醒一下自己,别忘了
本文通过一个简单的循环中忘记释放锁的代码片段,展示了如何因为疏忽而导致程序出现死锁问题。该例子强调了正确管理线程锁的重要性。
while (true)
{
m.lock();
if (i <= 0)
{
m.unlock();//这里忘了释放锁了,导致其他线程无法退出
break;
}
else
{
log("id = %d,static int i = %d", id, i--);
m.unlock();
}
}
2016

被折叠的 条评论
为什么被折叠?