草庐IT

锁定库存

全部标签

c# - 可以锁定 System.Collections.Generic.List<t> 吗?

我一直在阅读有关syncroot元素的信息,但我在List类型中找不到它。那么System.Collections.Generic.List类型应该如何进行多线程同步呢? 最佳答案 你找不到它的原因是因为它是explicitlyremoved.如果它真的是你想做的,使用SynchronizedCollection或者创建一个专用的同步对象。最好的方法(通常)是创建一个专用的同步对象,正如Winston所说明的那样。SyncRoot的本质问题特性是它提供了一种错误的安全感——它只能处理非常有限的情况。开发人员经常忽略整个逻辑操作的同步

c# - WebRequest.GetResponse 锁定?

在编写以下代码时,我的代码锁定在GetResponse上。为什么?try{WebRequestmyWebRequest=WebRequest.Create(strURL);WebResponsemyWebResponse=myWebRequest.GetResponse();//morecodehere 最佳答案 如果您向同一个主机发出了多个请求,并且没有处理掉WebResponse,通常会发生这种情况。.默认的连接管理设置一次只允许2个(或者可能是4个,我不记得了)打开到同一主机的连接。如果您真的需要更改它,请使用app.conf

c# - 如何删除 WP7 锁定屏幕上的音量控制?

当您停止音乐播放器中正在播放的音乐时,它并没有真正停止。它只是暂停它,因为您在锁定屏幕后仍然可以看到音乐控件。我想使用后面的代码删除出现在锁定屏幕上的音量控制(倒带、播放、前进)按钮。市场上的现有应用StoptheMusic!已经实现了这一点。我经历过这个page,但我仍然无法理解他们是如何做到这一点的。有没有办法实现这个?? 最佳答案 好问题,经过反复试验后我发现,如何从音量控制中删除音乐播放器:您需要在您的应用程序中添加扩展名为.wma的空文件,并将构建操作设置为“内容”,例如将“empty.wma”添加到应用程序根文件夹中。要

C#锁定SQL Server表的方法

我有一个C#程序需要对SQLServer表执行一组批量更新(20k+)。由于其他用户可以通过Intranet网站一次更新这些记录,因此我们需要构建具有锁定表功能的C#程序。一旦表被锁定以防止其他用户进行任何更改/搜索,我们将需要执行请求的更新/插入。由于我们要处理如此多的记录,我们不能使用TransactionScope(起初似乎是最简单的方法),因为我们的交易最终由MSDTCservice处理.我们需要使用另一种方法。根据我在Internet上阅读的内容,使用SqlTransaction对象似乎是最好的方法,但是我无法锁定表。当程序运行并且我单步执行下面的代码时,我仍然能够通过内部网

c# - 在这种情况下是否需要锁定?

在多线程应用中是否需要保护对引用类型的单个变量的访问?我目前像这样锁定该变量:privatereadonlyobject_lock=newobject();privateMyType_value;publicMyTypeValue{get{lock(_lock)return_value;}set{lock(_lock)_value=value;}}但我想知道这是否真的有必要?给字段赋值不是原子的吗?如果我在这种情况下不锁定,会出什么问题吗?P.S.:MyType是一个不可变类:所有字段都在构造函数中设置并且不会更改。要更改某些内容,将创建一个新实例并将其分配给上面的变量。

c# - 如何通过方法参数锁定?

stringGet(stringkey){lock(_sync){//DoSomething}}如果DoSomething只依赖于键,我想要依赖于键的锁。我认为它可能是带有同步对象的字典。有没有完整的解决方案?像真实的例子Whatisthebestwaytolockcacheinasp.net? 最佳答案 好吧,你可以创建一个Dictionary并懒惰地用要锁定的对象填充它。例如:readonlyDictionarydictionary=newDictionary();readonlyobjectdictionaryLock=new

c# - DataGridView 锁定在继承的 UserControl 上

我有一个带有一些预定义控件(groupbox、button、datagridview)的UserControl,这些控件被标记为protected,组件变量也被标记为protected。然后我想从这个基本UserControl继承到另一个UserControl,但是DataGridView始终锁定在设计器中。我怀疑它可能与实现ISupportInitilize的DataGridView有关。publicclassBaseGridDetail:UserControl定义了DataGridView控件(等)。publicclassInheritedDetail:BaseGridDetail

C#:检查文件是否未锁定且可写

我想在开始替换文件之前检查文件列表是否正在使用或不可写。当然,我知道从文件检查和文件复制开始,一个或多个文件可能会被其他人锁定,但我会处理这些异常(exception)情况。我想在文件复制之前运行此测试,因为完整的文件列表比操作过程中的文件无法替换更有可能成功。你们中的任何一个有正确方向的例子或提示 最佳答案 无法保证您获得的列表在任何时候都不会在下一秒保持不变,因为在您返回时其他人可能会控制该文件。不过我看到了一种方法-通过获取相应的FileStream对象来“锁定”要替换的文件。这样您就可以确保通过打开所有“可用”文件来锁定它们

c# - 如何锁定自动对焦

有没有办法使用任何“标准”库(例如OpenCV、EmGU、DirectShow等)来阻止自动对焦?我想让自动对焦找到最佳焦点,然后在视频拍摄过程中,防止自动对焦自动对焦。我知道我可以手动设置该值,但这违背了使用自动对焦的目的,而且我还没有找到一种方法来获得由自动对焦确定的最佳对焦值。 最佳答案 对于UVC的USB网络摄像头-兼容(大多数情况下),很有可能可以使用相机的自动对焦然后锁定它。要确定相机是否允许通过UVC执行此操作,在Linux上可以使用v4l2-ctl,它位于v4l-utils包中。v4l2-ctl-l列出所有可用的控件

c# - 当用户移动窗口时 PushFrame 锁定 WPF 窗口

我正在使用PushFrame来确保我的窗口在执行其他代码之前完成绘制。我的应用程序有一些时间敏感的功能,需要在我继续执行代码之前更新窗口。所以我正在使用来自msdn的示例:http://msdn.microsoft.com/en-us/library/vstudio/system.windows.threading.dispatcher.pushframe(v=vs.110).aspx效果很好,但如果用户在执行此代码时拖动我的窗口,则窗口会挂起,您只能使用ctrl-alt-del将其取回。有什么想法吗? 最佳答案 应用程序似乎卡住了