① 活鎖和死鎖是什麼意思啊
1、活鎖指的是任務或者執行者沒有被阻塞,由於某些條件沒有滿足,導致一直重復嘗試—失敗—嘗試—失敗的過程。處於活鎖的實體是在不斷的改變狀態,活鎖有可能自行解開。
2、死鎖是指兩個或兩個以上的線程在執行過程中,由於競爭資源或者由於彼此通信而造成的一種阻塞的現象,若無外力作用,它們都將無法推進下去。此時稱系統處於死鎖狀態或系統產生了死鎖,這些永遠在互相等待的進程稱為死鎖進程。
(1)活鎖解決方法大全擴展閱讀:
死鎖經常與正常阻塞混淆。事務請求被其他事務鎖定的資源的鎖時,發出請求的事務一直等到該鎖被釋放。默認情況下,除非設置了 LOCK_TIMEOUT,否則 SQL Server 事務不會超時。因為發出請求的事務未執行任何操作來阻塞擁有鎖的事務,所以該事務是被阻塞,而不是陷入了死鎖。最後,擁有鎖的事務將完成並釋放鎖,然後發出請求底事務將獲取鎖並繼續執行。