C# 資料庫並發的解決方案(通用版、EF版)

來源:互聯網
上載者:User

標籤:程式   系統   壞事   www   針對   href   一個   url   先來   

還是那句老話:十年河東,十年河西,莫欺騷年窮!~_~ 打錯個字,應該是莫欺少年窮!

學曆代表你的過去,能力代表你的現在,學習代表你的將來。

學無止境,精益求精。

自ASP.NET誕生以來,微軟提供了不少控制並發的方法,在瞭解這些控制並發的方法前,我們先來簡單介紹下並發!

並發:同一時間或者同一時刻多個訪問者同時訪問某一更新操作時,會產生並發!

針對並發的處理,又分為封閉式並行存取處理和開放式並行存取處理

所謂悲觀/開放式並行存取處理,可以這樣理解:

悲觀者認為:在程式的運行過程中,並發很容易發生滴,因此,悲觀者提出了他們的處理模式:在我執行一個方法時,不允許其他訪問者介入這個方法。(悲觀者經常認為某件壞事會發生在自己身上)

樂觀者認為:在程式的運行過程中,並發是很少發生滴,因此,樂觀者提出了他們的處理模式:在我執行一個方法時,允許其他訪問者介入這個方法。(樂觀者經常認為某件壞事不會發生在自己身上)

那麼在C#語言中,那些屬於悲觀者呢?

在C#中諸如:LOCK、Monitor、Interlocked 等鎖定資料的方式,屬於封閉式並行存取處理範疇!資料一旦被鎖定,其他訪問者均無權訪問。有興趣的可以參考:鎖、C#中Monitor和Lock以及區別

但是,悲觀者處理並發的模式有一個通病,那就是可能會造成非常低下的執行效率。

在此:舉個簡單例子:

售票系統,小明去買票,要買北京到上海的D110次列車,如果採用悲觀者處理並發的模式,那麼售票員會將D110次列車的票鎖定,然後再作出票操作。但是,在D110次列車車票被鎖定期間,售票員去了趟廁所,或者喝了杯咖啡,其他視窗售票員是不能進行售票滴!如果採用這種處理方式的話,中國14億人口都不用出行了,原因是買不到票 ~_~

因此:在

 

 

 

C# 資料庫並發的解決方案(通用版、EF版)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.