死锁是因为多线程访问共享资源,由于访问的顺序不当所造成的,通常是一个线程锁定了一个资源A,而又想去锁定资源B;在另一个线程中,锁定了资源B,而又想去锁定资源A以完成自身的操作,两个线程都想得到对方的资源,而不愿释放自己的资源,造成两个线程都在等待,而无法执行的情况。
解开硬盘逻辑死锁的一种有效方法 西安市西北工业大学418信箱(710072) 肖华勇 一·序言 不知道你是否曾碰到过从软盘和硬盘都启动不了计算机的情形?一般计算机的硬盘分区表被病毒感染后,若不能启动机子,通常从软盘可以启动。但在严重的情形下,不但从硬盘不能启动机子,就是从软盘也不能启动。有的恶毒的病毒就能使硬盘...
对于数据库死锁,通常可以通过TRACE FLAG 1204、1205、1206,检查ERRORLOG里面的输出,和分析SQLTRACE的执行上下文判断死锁问题的来由。 TRACEON函数的第三个参数设置为-1,表示不单单针对当前connection,而是针对所有包括未来建立的connection。这样,才够完全,否则只是监视当前已经建立的数据库连接了。 执行下面的话可以把死锁...
到此事实就比较清楚了,在Windows Live Favorites中有一个Bug导致在退出的时候,WLFEXT.dll中的某个函数在线程A中等待某个Critical Section,而这个Crtical Section已经被某个线程B所Own,并且这个线程B已经由于某种原因已经被Terminate(可能性比较大的是出错退出),因此线程A死锁,导致整个IE死锁。我顺便用.dump指令收集了...