草庐IT

local_lock

全部标签

c# - T-SQL : Lock a table manually for some minutes

这个问题在这里已经有了答案:ForcingaquerytimeoutinSQLServer(4个答案)关闭8年前。我知道这会很奇怪,但我想在我的MVC应用程序中触发一个错误,这个错误将基于LINQ查询,我想从表中获取一条记录。虽然此记录将使用T-SQL命令(例如无限循环始终更新此记录)在(数据库/表/行)级别被阻止,但我的LINQ查询将执行查询以读取该记录。当LINQ尝试时,结果应该是20-30秒后超时,以前有人试过吗?

c# - 当锁没有竞争时, lock(...) 的开销是多少?

在研究双重检查锁定时,我看到了许多建议,即跳过第一次检查并立即获取锁,取而代之的是检查。这让我想知道,lock(this.padlock)在没有竞争时是否“便宜”? 最佳答案 我们可以测试一下...我得到:1000000000;2164(nolock)1000000000;23258(lock)21.094nsperlock代码:usingSystem;usingSystem.Diagnostics;staticclassP{staticvoidMain(){Test(1);//forJITTest(1000000);}static

c# - Lock vs. ToArray for thread safe foreach access of List collection

我有一个List集合,我想在多线程应用程序中对其进行迭代。我每次迭代它时都需要保护它,因为它可能会被更改,而且我不希望在执行foreach时出现“集合已修改”异常。正确的做法是什么?每次访问或循环时都使用锁。我非常害怕死锁。也许我只是对使用lock偏执,不应该。如果我走这条路以避免死锁,我需要知道什么?锁是否相当有效?每次执行foreach时,都使用List.ToArray()复制到一个数组。这会导致性能下降,但很容易做到。我担心内存抖动以及复制它的时间。只是显得过分。使用ToArray是线程安全的吗?不要使用foreach,而是使用for循环。每次执行此操作时我不需要进行长度检查以确

c# - 我什么时候应该使用 Localize 控件而不是 Literal?

我最近意识到System.Web.UI.WebControls.Localize在ASP.NET4.0MCTS认证类(class)的实验室中进行控制。我不清楚此控件的用途。在示例中,Literal控件和Localize控件似乎或多或少可以互换。经过检查,Localize控件似乎继承自Literal,但未提供任何附加功能。它使用不同的设计器类,在我看来,它在文字方面的能力不如设计器类。所以,让我感到困惑。文字是可本地化的已经。Localize控件的用途是什么?我应该使用它吗?在什么情况下? 最佳答案 我很感激这个问题已经被标记为已回答

C# 错误 : Use of unassigned local variable

我不确定为什么会收到此错误,但这段代码不应该编译吗,因为我已经在检查队列是否正在初始化?publicstaticvoidMain(String[]args){BytemaxSize;Queuequeue;if(args.Length!=0){if(Byte.TryParse(args[0],outmaxSize))queue=newQueue(){MaxSize=maxSize};elseEnvironment.Exit(0);}else{Environment.Exit(0);}for(Bytej=0;j因此,如果队列未初始化,那么for循环就无法访问,对吧?由于程序已经以Envir

c# - "Use of unassigned local variable"是什么意思?

我不断收到有关annualRate、monthlyCharge和lateFee的错误。usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceLab_5___Danny_Curro{classProgram{staticvoidMain(string[]args){stringfirstName;stringlastName;intaccNumber;stringcreditPlan;doublebalance;stringstatus;Booleanlate=fals

c# - 使用 lock(this) 说明死锁的示例代码

我读过几篇文章和帖子说lock(this),lock(typeof(MyType)),lock("astring")都是不好的做法,因为另一个线程可能锁定同一个键并导致死锁。为了理解这个问题,我试图创建一些示例代码来说明死锁,但一直无法解决这个问题。有人可以写一段简洁的代码来说明这个经典问题吗?请保持简短,我只能消化较小块的代码。编辑:我认为lassevk总结得很好;真正的问题是你失去了对锁的控制。一旦发生这种情况,您将无法控制调用锁的顺序,并且您正在允许潜在的死锁情况。lock(this)、lock(typeof(MyType))等都是您选择了无法控制的锁的情况。

c# - lock(locker) 和 lock(variable_which_I_am_using) 的区别

我正在使用C#和.NEt3.5。OptionA和OptionB有什么区别?classMyClass{privateobjectm_Locker=newobject();privateDicionarym_Hash=newDictionary();publicvoidOptionA(){lock(m_Locker){//Dosomethingwiththedictionary}}publicvoidOptionB(){lock(m_Hash){//Dosomethingwiththedictionary}}}我开始涉足线程(主要是为多线程应用程序创建缓存,不使用HttpCache类,因为

C# 文化 : Localize DayOfWeek?

如何本地化除今天以外的星期几?以下内容适用于当天:DateTime.Now.ToString("dddd",newCultureInfo("it-IT"));但是我怎样才能本地化一周中的所有日子呢??编辑:我想出的一个可能(而且可能非常非常错误)的解决方案是为整整一周创建DateTime值,然后使用date.ToString("dddd",newCultureInfo("it-IT"));在他们身上,但这在很多层面上似乎都是错误的。 最佳答案 怎么样DateTimeFormatInfo.CurrentInfo.GetDayName(

c# - Lock 语句与 Monitor.Enter 方法

我想这是一个有趣的代码示例。我们有一个类——我们称它为Test——带有一个Finalize方法。在Main方法中有两个代码块,我在其中使用了一个lock语句和一个Monitor.Enter()调用。另外,我这里有两个Test类的实例。实验非常简单:将锁定block中的Test变量置空,然后尝试使用GC.Collect方法调用手动收集它。因此,为了查看Finalize调用,我调用了GC.WaitForPendingFinalizers方法。如您所见,一切都非常简单。根据lock语句的定义,它由编译器打开到try{...}finally{..}block,在tryblock和Monitor