死锁受害者是计算机用户,充当连接到服务器的客户端,服务器主机已选择终止其连接以解决死锁。当两个不同的进程试图使用相同的资源时,通常会出现这种类型的死锁,这会导致两个进程都锁定。为了解决此问题,许多服务器数据库系...
死锁受害者是计算机用户,充当连接到服务器的客户端,服务器主机已选择终止其连接以解决死锁。当两个不同的进程试图使用相同的资源时,通常会出现这种类型的死锁,这会导致两个进程都锁定。为了解决此问题,许多服务器数据库系统可以检测到死锁何时发生,然后选择终止两个进程中的一个进程的连接。程序可以任意选择死锁受害者,尽管通常选择用户作为最容易重新连接到系统的用户。死锁受害者是作为客户端的计算机用户连接到服务器,服务器主机选择终止其连接以解决死锁。术语“死锁受害者”通常用于当用户的连接终止时,系统向用户显示的错误或异常消息。此错误通常发生在称为死锁的情况下。通常,当连接到服务器的两个用户试图以在系统上创建锁定的方式访问相同的资源时,会发生死锁。例如,如果用户a正在使用资源1并需要使用资源2,而用户B使用资源2并需要使用资源1,由于两个用户都无法完成其进程,因此出现死锁。在本例中,系统将选择两个用户中的一个作为死锁受害者,并终止与服务器的连接。一旦发生这种情况,另一个用户可以完成其进程,结束死锁,死锁受害者可以重新连接到大多数服务器数据库程序都设计有死锁检测,通常在一定时间后检测到死锁即使死锁不一定是一个主要问题,但它对用户来说可能是一个麻烦,尤其是那些被选为死锁受害者的用户,它表明了服务器数据库编程中的一个或多个错误。服务器选择死锁牺牲品的方式可能会有所不同。有些程序选择受害者完全是随机的。而这可能是相当有效,因为任何选择都会导致解决方案和死锁的结束,这并不总是一个理想的方法。服务器通常被编程来评估两个用户,以选择最容易重新连接的用户或因断开连接而丢失的数据量最少的用户
-
发表于 2020-08-06 18:03
- 阅读 ( 954 )
- 分类:电脑网络