草庐IT

锁定库存

全部标签

c# - 控件 'seems' 被锁定

我正在尝试更改控件的属性,但它看起来好像已“锁定”,但实际上并非如此,因为当我右键单击该控件时,它显示该控件已解锁。我使用的是VisualStudio2005,我从未使用过在提供的图片中似乎被锁定的控件。我真的很感激一个简单的解释以及如何解决这个问题,以便我可以继续修改它。 最佳答案 当您尝试设计一个继承的窗体并且该窗体上的控件是私有(private)时,就会发生这种情况。设计者观察可访问性修饰符。返回基本窗体并将控件的Modifiers属性从Private更改为Protected。 关

c# 锁定传递给方法的引用 - 不好的做法?

我有一个类似的方法:publicstaticvoidDoSomething(stringparam1,stringparam2,SomeObjecto){//.....lock(o){o.Things.Add(param1);o.Update();//etc....}}几点:以这种方式锁定是不好的做法吗?我应该锁定一个私有(private)静态对象吗?如果是,为什么? 最佳答案 为了尽量减少副作用,被锁定的对象不应是被操作的对象,而是指定用于锁定的单独对象。根据您的要求,有几个选项可用于处理此问题:变体A:私有(private)锁定

c# - 如何锁定在多个线程中使用的变量

我在这里问了一个很糟糕的问题Lockonavariableinmultiplethreads所以为了清楚起见,我将在这里提问,希望我能正确提问。classAcreatesinstanceofclassBhasmethodAthatcanupdate&usesclassB'smyVarhasmethodBthatcanupdate&usesclassB'smyVarclassBhasavariablemyVarmethodA和methodB都可以在单独的线程中运行(在主线程中调用)。我如何确保这是线程安全的? 最佳答案 使用lock关

C# - 使用 EnterWriteLock 锁定问题

以下代码来自MSDN:privateReaderWriterLockSlimcacheLock=newReaderWriterLockSlim();privateDictionaryinnerCache=newDictionary();publicvoidAdd(intkey,stringvalue){cacheLock.EnterWriteLock();try{innerCache.Add(key,value);}finally{cacheLock.ExitWriteLock();}}我在其他地方看到过这样的代码。EnterWriteLock()总是在tryblock之外。有谁知道为

c# - 带有锁定文件的 FileStream

我想知道是否有可能将只读FileStream获取到锁定文件?现在,当我尝试读取锁定的文件时出现异常。using(FileStreamstream=newFileStream("path",FileMode.Open))谢谢! 最佳答案 您应该尝试另一个构造函数。它们记录在MSDN中。这个看起来像一个赌注:FileStreamConstructor(String,FileMode,FileAccess,FileShare)MSDNLink文件访问Aconstantthatdetermineshowthefilecanbeaccesse

c# - 如何解锁被 .NET 中的进程锁定的文件

这个问题在这里已经有了答案:UnlockFilesfordeletion(2个答案)关闭6年前。我希望我的应用程序清除它使用的所有临时文件,问题是并非所有临时文件都在我的控制之下,所以我只想“粗暴地”解锁它们以便以编程方式删除它们。

c# - lock(){} 是锁定资源,还是锁定一段代码?

我仍然很困惑......当我们写这样的东西时:Objecto=newObject();varresource=newDictionary();...并且有两个代码块在访问资源时锁定o...//Codeonelock(o){//readfromresource}//Codetwolock(o){//writetoresource}现在,如果我有两个线程,一个线程执行从resource读取的代码,另一个线程执行代码写入它,我想锁定resource这样当它正在阅读,作者将不得不等待(反之亦然——如果它正在被写入,读者将不得不等待)。锁构造对我有帮助吗?...还是我应该使用其他东西?(出于本示

c# - 使用 lock 语句在 C# 中递归/嵌套锁定

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:Re-entrantlocksinC#我在StackOverflow和MSDN上看过这里,不敢相信我在互联网上找不到这个问题。假设我有一个包含私有(private)成员的类,我想通过多个公共(public)方法访问该成员。这些公共(public)方法将被不同的线程调用,因此需要同步。publicclassMyClass{privateObjectSomeSharedData=newObject();publicvoidMethodA(){lock(SomeSharedData){//dosomethingMe

c# - C# 中的跨进程锁定

我已经编写了一个API,将在(1)Windows服务、(2)Web应用程序和(3)Windows窗体应用程序的同一个框上使用。它们都需要共享一组非常小的公共(public)数据(一些整数、一个日期和一个字符串,我可以将它们作为单个类的属性)。跨进程使用什么样的锁机制,三个进程可以安全共享资源,不发生冲突?请不要使用数据库,寻找不需要额外依赖项的解决方案。该解决方案最好以某种方式使用共享内存或文件系统。 最佳答案 对于C#/.Net中的跨进程锁定,您可以使用namedsystemMutex.

c# - 为什么锁定公共(public)对象是个坏主意

好吧,我用过很多锁,但我以前从未遇到过这种情况。我有两个不同的类,它们包含用于修改同一个MSAccess数据库的代码:publicclassDatabaseNinja{publicvoidUseSQLKatana{//Codetoexecutequeriesagainstdb.TableAwesome}}publicclassDatabasePirate{publicvoidUseSQLCutlass{//Codetoexecutequeriesagainstdb.TableAwesome}}这是一个问题,因为无法并行执行对数据库的事务,并且这些方法(UseSQLKatana和UseS