补充:在大多数时间内,这样的处理过程(没返回记录,然后commit操作),是没有任何问题的;
其实我也不确定是不是就是这里引起当机,因为除了这个进程,别的几个进程也掉了;

解决方案 »

  1.   

    这种语句是没有问题的,仅仅是对表加了锁,并不是引起数据库的宕机的。
      

  2.   

    楼主的多线程在共用一个数据库连接吗?
    如果共用数据库连接了,互相之间是会有影响的。
    如果没有共用数据库连接,那么相互之间就是没有影响的。
      另外,不确定你说的数据库当机是个什么现象。
      会不会是上面的查询语句同时查询出数据,然后循环体内部的处理造成了表的死锁呢??
      

  3.   


    程序是一个线程一个数据库连接的;我这里说的当机不是数据库的当机,是程序的当机;
    但是查询语句没有查出记录的,应该不会造成死锁的吧?
      

  4.   

    LZ这种写法是进行锁表操作。为什么要这样写?
      

  5.   


    好吧这种写法本来就不太好,每个线程做同样的事情,还要加锁控制一下加锁是为了防止同一条记录同时做同样的操作
      

  6.   


    程序是一个线程一个数据库连接的;我这里说的当机不是数据库的当机,是程序的当机;
    但是查询语句没有查出记录的,应该不会造成死锁的吧?应用程序的当机还应该是死锁的可能性最大吧
    建议这个方向再检查检查代码吧