有时会出现死锁, 郁闷好些天,解决立即给分
有时会出现死锁....
_RecordsetPtr pRecordset=NULL;
pRecordset.CreateInstance(__uuidof(Recordset));
try
{
pRecordset-> Open( "select * from MessageAct where SuccFlag = -2 and datediff(SS,RecordTime,getdate()) <=120 order by RecordTime ",pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
while (!pRecordset-> adoEOF)
{
...pRecordset-> PutCollect( "ErrText ",varErrText);
pRecordset-> Update();
pRecordset-> MoveNext();
}
pRecordset-> Close();
pRecordset = NULL ;
}
catch(_com_error e)
{
MessageBox( "aa ",e.ErrorMessage() );
pRecordset-> Close();
pRecordset = NULL ;
}
[解决办法]
顶
[解决办法]
死锁应该不在这里
你的 互斥的代码呢?
[解决办法]
如果只有这些代码应该不至于产生死锁吧
[解决办法]
楼主解决了么?
我也遇到了,有时产生死锁
不过我是在
m_pConnection.CreateInstance的地方
恳求大家了
[解决办法]
有没有log可看?多线程的程序最好的调试手段就是看log...
[解决办法]
这估计是导致数据库表锁住了吧
[解决办法]
对数据库操作的时候加互斥信号...