程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 《硬道理》系列~第一回 程序中的“鎖”

《硬道理》系列~第一回 程序中的“鎖”

編輯:C#入門知識

回到目錄

共享鎖 

由非更新(讀取)操作創建的鎖。其他用戶可以並發讀取數據,但任何事務都不能獲取數據上的排它鎖,直到已釋放所有共享鎖。 共享鎖(S鎖)又稱為讀鎖,若事務T對數據對象A加上S鎖,則事務T只能讀A, 不能修改A;其他事務只能再對A加S鎖,而不能加X鎖,直到T釋放A上的S鎖。這就保證了其他事務可以讀A,但在T釋放A上的S鎖之前不能對A做任何修改。

獨占鎖和共享鎖的區別

1.共享鎖(S鎖):如果事務T對數據A加上共享鎖後,則其他事務只能對A再加共享鎖,不能加排他鎖。獲准共享鎖的事務只能讀數據,不能修改數據。 排他鎖(X鎖):如果事務T對數據A加上排他鎖後,則其他事務不能再對A加任任何類型的封鎖。獲准排他鎖的事務既能讀數據,又能修改數據。 2.Windows中可以有共享鎖

3.其它用戶可以並發讀取,查詢數據。但不能修改,增加,刪除數據。資源共享.

排它鎖(獨占鎖)


 

排它鎖又稱為寫鎖((eXclusive lock,簡記為X鎖)),若事務T對數據對象A加上X鎖,則只允許T讀取和修改A,其它任何事務都不能再對A加任何類型的鎖,直到T釋放A上的鎖。它防止任何其它事務獲取資源上的鎖,直到在事務的末尾將資源上的原始鎖釋放為止。在更新操作(INSERT、UPDATE 或 DELETE)過程中始終應用排它鎖。

相對於共享鎖的區別:

共享鎖又稱為讀鎖(Share lock,簡記為S鎖),若事務T對數據對象A加上S鎖,則其它事務只能再對A加S鎖,而不能加X鎖,直到T釋放A上的S鎖。 C#中的獨占鎖
  
          theResource = 
         ReaderWriterLock readerWriterLock = 
          ( i = ; i < ; i++
                    readerWriterLock.AcquireReaderLock(

  Main(
            Thread tr0 =  Thread(=  Thread(=  Thread(=  Thread(

 回到目錄

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved