草庐IT

file-locking

全部标签

java - 在 Windows 7 上 : Same path but Explorer & Java see different files than Powershell

已提交以供您批准,这是一个关于被困在暮光之城的可怜的小java进程的故事......在我举起手来只是说NTFS分区已损坏之前,是否有任何合理的解释来解释我所看到的。我有一个这样的路径的文件C:\ProgramFiles\Company\product\config\file.xml我在升级后阅读此文件并看到一些奇怪的东西。Eclipse和我的Java应用程序仍然看到该文件的旧版本,而其他一些程序看到的是新版本。使我确信问题不是我的粗手指的测试是这样的:在资源管理器中,我输入了上述路径,资源管理器显示了该文件的旧版本。通过Ctrl-F5强制资源管理器重新加载仍然会产生旧版本。这是我在Ja

Windows 资源管理器外壳扩展 : create file and enter "rename" mode

对于shell扩展(UI类似于“新建/”上下文菜单),我需要创建一个文件,选择它并进入“重命名”模式,以便用户可以调整默认名称。问:如何进入文件的“重命名”模式? 最佳答案 执行此操作的正确方法是使用IShellView::SelectItem与SVSI_EDIT旗帜。 关于Windows资源管理器外壳扩展:createfileandenter"rename"mode,我们在StackOverflow上找到一个类似的问题: https://stackoverf

c# - 为什么 File.Move 允许 2 个线程同时移动同一个文件?

我们目前有一个应用程序可以监视文件夹中的新文件。为了使其容错并能够一次处理更多文件,我们希望能够在不同机器上运行该应用程序的多个实例。我们使用File.Move来“锁定”一个文件,并确保一次只有一个线程可以处理一个文件。为了测试只有一个应用程序和/或线程可以对文件执行File.Move,我创建了一个简单的应用程序(基于原始应用程序的代码),每个应用程序创建10个线程并监视一个文件夹,当每个线程检测到一个新文件时,它对其执行File.Move并更改文件的扩展名,以尝试阻止其他线程执行相同的操作。我在运行此应用程序的多个副本(并且它自己运行)时看到一个问题,其中2个线程(在同一应用程序或不

c# - .NET : ThreadStatic vs lock { }. 为什么 ThreadStaticAttribute 会降低性能?

我写了一个小测试程序并且很惊讶为什么lock{}解决方案执行速度比无锁快,但使用[ThreadStatic]静态变量上的属性。[ThreadStatic]片段:[ThreadStatic]privatestaticlongms_Acc;publicstaticvoidRunTest(){Stopwatchstopwatch=newStopwatch();stopwatch.Start();intone=1;for(inti=0;i锁定{}片段:privatestaticlongms_Acc;privatestaticobjectms_Lock=newobject();publicsta

c# - System.IO.File.Move--如何等待移动完成?

我正在用C#编写一个WPF应用程序,我需要移动一些文件——问题是我真的真的需要知道这些文件是否成功。为此,我写了一个检查以确保文件在移动后到达目标目录——问题是有时我在文件移动完成之前就进行了检查:System.IO.File.Move(file.FullName,endLocationWithFile);System.IO.FileInfo[]filesInDirectory=endLocation.GetFiles();foreach(System.IO.FileInfotempinfilesInDirectory){if(temp.Name==shortFileName){ret

c# - lock 语句如何确保处理器内同步?

我有一个同时执行两个线程的小型测试应用程序。一个递增staticlong_value,另一个递减它。我已通过ProcessThread.ProcessorAffinity确保线程与不同的物理(无HT)内核相关联以强制处理器内部通信,并且我已确保它们在执行时间上重叠很长一段时间。当然,以下不会导致零:for(longi=0;i因此,合乎逻辑的结论是:for(longi=0;i这当然会导致零。但是,以下也会导致零:for(longi=0;i当然,lock语句确保读取和写入不会重新排序,因为它采用了全栅栏。但是,我找不到有关处理器高速缓存同步的任何信息。如果没有任何缓存同步,我想我应该在两个

c# - Tridion 2011 : Changing a page's file name as it's being published

美好的一天!我允许我的内容编辑器将CSS存储为非常基本的组件(通常包含他们粘贴到的称为“代码”的单个多行字段),然后将这些作为组件演示添加到带有.css的页面中文件扩展名。创建页面时,用户可以设置一些配置值:缩小输出(bool)、文件名前缀和文件名后缀。最后两个的目的是,如果用户选择缩小CSS,则位于演示服务器上的文件名可能会有所不同。除了文件名的修改外,我已经完成了所有工作。我不想更改CM中的文件名;仅当它驻留在演示服务器上时。我假设这可以在放入CSS页面模板的TBB中完成。我试了一下,但想确定我没有遗漏任何东西。以下示例只是为了简洁而对一些可配置值进行硬编码的速记。//Create

c# - 找不到部分路径 'C:\Program Files (x86)\IIS Express\~\TextFiles\ActiveUsers.txt'

我尝试了多种方法从名为TextFiles的文件夹访问我的VisualStudio2012解决方案中的文本文件using(System.IO.StreamWriterfile=newSystem.IO.StreamWriter(@"~/TextFiles/ActiveUsers.txt",true)){file.WriteLine(model.UserName.ToString());}但是一直报错Couldnotfindapartofthepath'C:\ProgramFiles(x86)\IISExpress\~\TextFiles\ActiveUsers.txt'.不知道哪里错了

c# - "thread-safe type"到底是什么?我们什么时候需要使用 "lock"语句呢?

我阅读了所有关于线程安全类型和“锁定”语句的文档,但我仍然没有100%理解它。具体什么时候需要使用“lock”语句?它与(非)线程安全类型有何关系?谢谢。 最佳答案 想象一个类的实例,里面有一个全局变量。想象一下,两个线程同时对该对象调用一个方法,并且该方法更新内部的全局变量。变量中的值很可能会被破坏。不同的语言和编译器/解释器会以不同的方式处理这个问题(或者根本不处理......)但关键是你会得到“不希望的”和“不可预测的”结果。现在假设该方法在尝试读取或写入变量之前获得变量的“锁”。第一个调用该方法的线程将获得变量的“锁”,第二

c# - 使用 Hangfire,Startup.cs 中给出的连接字符串抛出 Cannot attach file as database 错误

我在我的ASP.NetMVCWeb应用程序中使用Hangfire,它已成功安装。我想使用相同的LocalDb来存储排队的作业,以便Hangfire出队和处理,就像我用来存储数据一样。但是,当我在Startp.cs中提供在Web.config中定义的连接字符串或名称时,我遇到了以下错误。在hangfire之前,我在同一个localDb中添加、删除更新数据没有遇到任何问题。Cannotattachthefile'c:\users\jerry_dev\documents\visualstudio2013\Projects\Hangfire.Highlighter\Hangfire.Highl