死鎖受害者是計算機用戶,充當連接到服務器的客戶端,服務器主機已選擇終止其連接以解決死鎖。當兩個不同的進程試圖使用相同的資源時,通常會出現這種類型的死鎖,這會導致兩個進程都鎖定。為了解決此問題,許多服務器數據庫系...
死鎖受害者是計算機用戶,充當連接到服務器的客戶端,服務器主機已選擇終止其連接以解決死鎖。當兩個不同的進程試圖使用相同的資源時,通常會出現這種類型的死鎖,這會導致兩個進程都鎖定。為了解決此問題,許多服務器數據庫系統可以檢測到死鎖何時發生,然后選擇終止兩個進程中的一個進程的連接。程序可以任意選擇死鎖受害者,盡管通常選擇用戶作為最容易重新連接到系統的用戶。死鎖受害者是作為客戶端的計算機用戶連接到服務器,服務器主機選擇終止其連接以解決死鎖。術語“死鎖受害者”通常用于當用戶的連接終止時,系統向用戶顯示的錯誤或異常消息。此錯誤通常發生在稱為死鎖的情況下。通常,當連接到服務器的兩個用戶試圖以在系統上創建鎖定的方式訪問相同的資源時,會發生死鎖。例如,如果用戶a正在使用資源1并需要使用資源2,而用戶B使用資源2并需要使用資源1,由于兩個用戶都無法完成其進程,因此出現死鎖。在本例中,系統將選擇兩個用戶中的一個作為死鎖受害者,并終止與服務器的連接。一旦發生這種情況,另一個用戶可以完成其進程,結束死鎖,死鎖受害者可以重新連接到大多數服務器數據庫程序都設計有死鎖檢測,通常在一定時間后檢測到死鎖即使死鎖不一定是一個主要問題,但它對用戶來說可能是一個麻煩,尤其是那些被選為死鎖受害者的用戶,它表明了服務器數據庫編程中的一個或多個錯誤。服務器選擇死鎖犧牲品的方式可能會有所不同。有些程序選擇受害者完全是隨機的。而這可能是相當有效,因為任何選擇都會導致解決方案和死鎖的結束,這并不總是一個理想的方法。服務器通常被編程來評估兩個用戶,以選擇最容易重新連接的用戶或因斷開連接而丟失的數據量最少的用戶
-
發表于 2020-08-06 18:03
- 閱讀 ( 824 )
- 分類:電腦網絡