标签:
1. 该解锁不解锁,比如在这个return之前,忘了解锁:
bool DBTool::GetData() { m_loglock.lockForRead(); QSqlQuery sql_query(m_database); if(!sql_query.exec(strSQL)) { qDebug()<<sql_query.lastError(); // m_loglock.unlock(); // 忘了 return false; } else { // do something } m_loglock.unlock(); return true; }
忘记解锁的后果是,别处需要锁的时候,程序就永远停滞运行了。。。
2. 不该解锁的时候进行解锁
程序立刻崩溃,毫无商量余地
标签:
原文地址:http://www.cnblogs.com/findumars/p/5132066.html