Questions tagged «locking»

锁定使不同类型的资源一次只能由一个进程使用。

8
找出谁锁定了网络共享上的文件
我想知道谁在锁定网络共享上的文件。 问题出在这里:网络共享位于NAS上,所以我无法登录。我需要一个工具来远程发现谁在锁定文件。每次重新启动NAS是不切实际的,因为有多个用户。 Handle.exe,Process Explorer和PsFile似乎仅限于本地计算机上的文件,因此它们对我不起作用。
141 windows  locking 

1
记事本能击败所有人吗?
在Windows Server 2012 R2系统上,Kotlin程序用于FileChannel.tryLock()在文件上持有排他锁,如下所示: val fileRw = RandomAccessFile(file, "rw") fileRw.channel.tryLock() 锁定后,我无法使用以下方式打开文件: 写字板 记事本++ 使用C#以编程方式获取以下任何值FileShare: using (var fileStream = new FileStream(processIdPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) using (var textReader = new StreamReader(fileStream)) { textReader.ReadToEnd(); } 在命令行中,type命令: C:\some-directory>type file.txt The process cannot access the file because another process has locked a portion of the …

23
Git“致命:无法写入新的索引文件”
我已经看到许多其他关于此的主题,它们并没有帮助。 我有一个非常简单的仓库-两个JavaScript文件。我在Macbook上有100+ GB的存储空间。当我尝试将文件移动到子目录并在本地暂存更改时,我得到了... 严重的:无法写入新的索引文件 无论是在终端中执行所有操作还是使用SourceTree之类的GUI,都会发生这种情况。此外,其中一个文件被锁定,在注销并重新登录之前,我无法删除工作目录。 为什么会这样呢?锁是否可以防止某些事情发生?如果是这样,我如何/如何在OS X上解锁问题文件?远程存储库是Google代码,如果这有所作为,尽管我还没有推送到远程存储库。一切都是本地的。
128 git  locking 

8
有没有选择方法而不会导致锁定MySQL?
查询: SELECT COUNT(online.account_id) cnt from online; 但是联机表也会被事件修改,因此经常可以通过运行看到锁show processlist。 MySQL中是否有任何语法可以使select语句不引起锁定? 而且我在上面已经忘记了它在MySQL从数据库中。 在我添加到my.cnf:transaction-isolation = READ-UNCOMMITTED slave后会遇到错误: 错误“无法进行二进制日志记录。消息:InnoDB中的事务级别“ READ-UNCOMMITTED”对于查询中的二进制模式“ STATEMENT”不安全 那么,是否有兼容的方法可以做到这一点?
126 mysql  locking 

20
确保只运行一个程序实例
有没有一种Python方式可以只运行一个程序实例? 我想出的唯一合理的解决方案是尝试将其作为服务器在某个端口上运行,然后试图绑定到同一端口的第二个程序失败。但这不是一个好主意,也许有比这更轻巧的东西了吗? (考虑到程序有时可能会失败,例如segfault-因此“锁定文件”之类的东西将无法工作)

4
C#中的重入锁
下面的代码是否会在.NET上使用C#导致死锁? class MyClass { private object lockObj = new object(); public void Foo() { lock(lockObj) { Bar(); } } public void Bar() { lock(lockObj) { // Do something } } }


3
间歇性的log4net RollingFileAppender锁定文件问题
我们在开发和生产机器上看到间歇性问题,因此我们的日志文件没有被登录。 使用Visual Studio在开发和调试中运行时,我们在VS输出窗口中收到以下log4net错误消息: log4net:ERROR [RollingFileAppender] Unable to acquire lock on file C:\folder\file.log. 该进程无法访问文件'C:\ folder \ file.log',因为它正在被另一个进程使用。 log4net:ERROR XmlConfigurator: Failed to find configuration section 'log4net' in the application's .config file. Check your .config file for the <log4net> and <configSections> elements. 配置部分应如下所示: <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /> 我们当前针对该问题的解决方法是重命名最后一个日志文件。我们当然希望它会失败(由于上述文件锁定),但通常不会。由于aspnet_wp.exe进程的锁定,重命名失败了一两次。 我们的log4net配置部分如下所示: <log4net> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> …


3
为什么锁对象必须是静态的?
使用私有静态只读对象进行多线程锁定非常普遍。我了解到,private通过拧紧封装减少了锁定对象的入口,因此可以访问最基本的对象。 但是为什么要静态呢? private static readonly object Locker = new object(); 最后,该字段仅在我的班级中使用,我也可以只使用它: private readonly object Locker = new object(); 任何意见? 更新: 作为示例,我粘贴了此代码(仅作为示例)。我可以在此上使用静态或非静态储物柜,并且两者都可以正常工作。考虑下面的答案,我应该像这样定义我的储物柜?(对不起,下周我要接受采访,需要了解每个细节:) private readonly object Locker = new object(); 这是代码: private int _priceA; private int _priceB; private EventWaitHandle[] _waithandle; private readonly IService _service; //ctor public ModuleAViewModel(IService service) { _service = service; …

7
lock语句的价格是多少?
我一直在尝试多线程和并行处理,并且我需要一个计数器来对处理速度进行一些基本的计数和统计分析。为了避免并发使用类的问题,我在类中的私有变量上使用了lock语句: private object mutex = new object(); public void Count(int amount) { lock(mutex) { done += amount; } } 但是我想知道...锁定变量有多昂贵?对性能的负面影响是什么?

6
MySQL:事务与锁定表
我对事务与锁定表有些困惑,以确保数据库完整性,并确保SELECT和UPDATE保持同步,并且没有其他连接干扰它。我需要: SELECT * FROM table WHERE (...) LIMIT 1 if (condition passes) { // Update row I got from the select UPDATE table SET column = "value" WHERE (...) ... other logic (including INSERT some data) ... } 我需要确保没有其他查询会干扰并执行相同的操作SELECT(在该连接完成更新行之前读取“旧值”。 我知道我可以默认为LOCK TABLES table仅一次确保只有1个连接正在执行此操作,并在完成后将其解锁,但这似乎有点过头了。将事务包装在事务中是否会做同样的事情(确保没有其他连接会尝试同一进程而另一个仍在处理)?或将一个SELECT ... FOR UPDATE或SELECT ... LOCK IN SHARE MODE更好?




By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.