-----------------------------
      T1      |       T2
-----------------------------
 lock_X(Q)    |
      .       |     lock_X(R)
 lock_X(R)    |       .
     等待     |     loc_X(Q)
     等待   |      等待
      .       |       等待
      .       |        .
-----------------------------说明:事务T1先对数据Q加了X锁,事务T2对数据R也加了X锁
   然后,事务T1要求对数据R加X锁、事务T2也要求对数据Q请求加X锁
   于是死锁怀具了请问这个死锁的事务等待图怎么画?

解决方案 »

  1.   

    LZ 参考http://msdn.microsoft.com/zh-cn/library/ms177433.aspx
      

  2.   

    -----------------------------
          T1      |       T2
    -----------------------------
     lock_X(Q)    |
          .       |     lock_X(R)
     lock_X(R)    |       .
         等待     |     loc_X(Q)
         等待   |      等待
          .       |       等待
          .       |        .
    -----------------------------
      

  3.   

    -----------------------------
          T1      |       T2
    -----------------------------
     lock_X(Q)    |
          .       |     lock_X(R)
     lock_X(R)    |       .
         等待      |     loc_X(Q)
         等待    |      等待
          .        |       等待
          .        |        .
    -----------------------------