80%可能是你的程序引起死锁!

解决方案 »

  1.   

    看看如果不用程序,使用查询分析器会用多长时间
      

  2.   

    是有个临界区,和别的线程,但这个临界区我在已经严格测试过了,临界区应该可以排除了,而且在别的线程加了个弱智的释放临界区的方法,
    if (time(NULL) - LoadTime  > 60)
    {
       while (Crit.OwningThread == (HANDLE)GetCurrentThreadId()) 
       {
    TRACE("crit error\n");
    LeaveCriticalSection(&Crit);
       }
    }
    应该说这个邻居区不会死掉了,应该说用查询分析器不会遇到这种问题
      

  3.   

    另外那个表里数据操作频繁时,线程死掉的概率就大,我是每次只取会10条记录的.如果那个表里的数据不频繁时,就不容易出现了,频繁时可能2-3分钟就会有,现在不频繁了,一个两个小时了还没有线程死掉.那个表的数据处理后就删掉了
      

  4.   

    好像是有数据库的死锁,我换了种方式,问题是不再有了,谢谢大家