有时会出现死锁, 郁闷好些天,解决立即给分解决方法
有时会出现死锁, 郁闷好些天,解决立即给分
有时会出现死锁....
_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...
------解决方案--------------------
这估计是导致数据库表锁住了吧
------解决方案--------------------
对数据库操作的时候加互斥信号...
有时会出现死锁....
_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...
------解决方案--------------------
这估计是导致数据库表锁住了吧
------解决方案--------------------
对数据库操作的时候加互斥信号...