_lsIdleList.push_back(connecthandle); m_ListMutex.release();}//使用示例,首先获取空闲句柄,利用这个句柄做真正的操作,然后再插回到空闲队列bool CDBManager::DeleteHostCacheBySessionID(char * sessionid){ MYSQL * pConnectHandle = GetIdleConnectHandle(); if(!pConnectHandle) return 0; bool bRet = DeleteHostCacheBySessionID(pConnectHandle, sessionid); SetIdleConnectHandle(pConnectHandle); return bRet;}//传入空闲的句柄,做真正的删除操作bool CDBManager::DeleteHostCacheBySessionID(MYSQL * connecthandle, char * sessionid){ char deleteSQL[SQL_LENGTH]; memset(deleteSQL, 0, sizeof(deleteSQL)); sprintf(deleteSQL,"delete from HostCache where SessionID = '%s'", sessionid); if(mysql_query(connecthandle,deleteSQL) != 0) //删除 return false; return true;}