国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

.NET中 關于臟讀 不可重復讀與幻讀的代碼示例

2024-07-10 12:45:47
字體:
來源:轉載
供稿:網友

并發可能產生的三種問題

臟讀

定義:A事務執行過程中B事務讀取了A事務的修改,但是A事務并沒有結束(提交),A事務后來可能成功也可能失敗。

比喻:A修改了源代碼并且并沒有提交到源代碼系統,A直接通過QQ將代碼發給了B,A后來取消了修改。

代碼示例
代碼如下:
[TestMethod]
         public void 臟讀_測試()
         {
             //前置條件
             using (var context = new TestEntities())
             {
                 Assert.AreEqual(1, context.Tables.Count());
             }

             var autoResetEvent = new AutoResetEvent(false);

             var transactionOptions1 = new TransactionOptions { IsolationLevel = IsolationLevel.ReadCommitted };
             var transactionOptions2 = new TransactionOptions { IsolationLevel = IsolationLevel.ReadUncommitted };

             using (var ts1 = new TransactionScope(TransactionScopeOption.Required, transactionOptions1))
             {
                 //添加數據
                 using (var context = new TestEntities())
                 {
                     context.Tables.Add(new Table() { Id = Guid.NewGuid(), Name = "段光偉" });
                     context.SaveChanges();
                 }

                 ThreadPool.QueueUserWorkItem(data =>
                 {
                     using (var ts2 = new TransactionScope(TransactionScopeOption.Required, transactionOptions2))
                     {

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 贡嘎县| 常宁市| 枣阳市| 阳谷县| 类乌齐县| 健康| 阜城县| 南丹县| 巨鹿县| 芜湖市| 日照市| 安远县| 象州县| 乡宁县| 大连市| 大荔县| 阳东县| 鹿泉市| 岐山县| 泗洪县| 志丹县| 海城市| 招远市| 桑植县| 都江堰市| 广宗县| 牙克石市| 万载县| 宜兴市| 威海市| 大安市| 台南县| 民丰县| 合水县| 万宁市| 岗巴县| SHOW| 玉树县| 永年县| 常山县| 肇庆市|