标签: locking

用于查找锁定文件的人的命令行工具

我想知道谁锁定文件(win32).我知道WhoLockMe,但我想要一个或多或少做同样事情的命令行工具.

我也看了这个问题,但它似乎只适用于远程打开的文件.

windows command-line locking

65
推荐指数
3
解决办法
14万
查看次数

读者/作者用C++锁定

我正在寻找一个很好的C++读写器锁.我们有一个不常见的作家和许多常见读者的用例,并希望为此进行优化.我更喜欢跨平台的解决方案,但只有Windows可以接受.

c++ multithreading locking

63
推荐指数
6
解决办法
7万
查看次数

纯Ruby并发哈希

实现可以跨多个线程修改但具有最少数量的锁的Hash的最佳方法是什么.出于这个问题的目的,你可以假设哈希将是重读的.它必须在所有Ruby实现中都是线程安全的,包括以真正同步方式运行的实现,例如JRuby,并且它必须用纯Ruby编写(不允许使用C或Java).

随意提交始终锁定的天真解决方案,但这不太可能是最佳解决方案.优雅的要点,但较小的锁定可能性胜过较小的代码.

ruby concurrency hash locking

61
推荐指数
3
解决办法
1万
查看次数

锁内锁

我想知道这种结构是否会导致错误:

lock(sync)
{
  // something
  lock(sync)
  {
    //something
    lock(sync)
    {
      //something
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我运行这段代码,看起来很好,但在某些情况下可能会抛出错误?

c# locking

61
推荐指数
2
解决办法
1万
查看次数

文件系统如何处理并发读/写?

用户A要求系统读取文件foo,同时用户B想要将他或她的数据保存到同一文件中.如何在文件系统级别处理这种情况?

filesystems locking

60
推荐指数
2
解决办法
4万
查看次数

lock()保证是否按请求获得了?

当多个线程请求锁定同一个对象时,CLR是否保证按照请求的顺序获取锁定?

我写了一个测试,看看这是否属实,似乎表明是,但我不确定这是否是确定的.

class LockSequence
{
    private static readonly object _lock = new object();

    private static DateTime _dueTime;

    public static void Test()
    {
        var states = new List<State>();

        _dueTime = DateTime.Now.AddSeconds(5);

        for (int i = 0; i < 10; i++)
        {
            var state = new State {Index = i};
            ThreadPool.QueueUserWorkItem(Go, state);
            states.Add(state);
            Thread.Sleep(100);
        }

        states.ForEach(s => s.Sync.WaitOne());
        states.ForEach(s => s.Sync.Close());
    }

    private static void Go(object state)
    {
        var s = (State) state;

        Console.WriteLine("Go entered: " + s.Index);

        lock (_lock)
        {
            Console.WriteLine("{0,2} …
Run Code Online (Sandbox Code Playgroud)

.net c# synchronization locking

60
推荐指数
3
解决办法
1万
查看次数

在C#中是否有"尝试锁定,跳过超时"操作?

我需要尝试锁定一个对象,如果它已经锁定只是继续(超时后,或没有它).

C#lock语句是阻塞的.

c# multithreading locking

58
推荐指数
3
解决办法
2万
查看次数

在Unix上正确处理PID文件的参考

我在哪里可以找到一个备受推崇的参考资料,详细说明在Unix上正确处理PID文件?

在Unix操作系统上,通常的做法是使用特殊的锁文件"锁定"程序(通常是守护程序):PID文件.

这是一个可预测位置的文件,通常是"/var/run/foo.pid".程序应该在启动时检查PID文件是否存在,如果文件存在,则退出并显示错误.所以这是一种咨询,协作锁定机制.

该文件包含一行文本,是当前持有锁的进程的数字进程ID(因此名称为"PID文件"); 这允许一种简单的方法来自动发送信号到持有锁的进程.

我找不到的是处理PID文件的预期或"最佳实践"行为的良好参考.有各种细微差别:如何实际锁定文件(不要打扰?使用内核?平台不兼容性怎么办?),处理陈旧锁(默默删除它们?何时检查?),何时获取并释放锁等等.

在哪里可以找到一个受人尊敬的,最权威的参考(理想情况是在W. Richard Stevens的水平上)这个小题目?

unix daemon locking

58
推荐指数
4
解决办法
3万
查看次数

显示get_lock中的所有当前锁

有没有办法选择/显示使用该GET_LOCK功能取出的所有当前锁?

请注意,GET_LOCK锁与表锁不同,就像那些获取的那些LOCK TABLES- 想要知道如何查看这些锁的读者应阅读检测锁定表(由LOCK TABLE锁定)

mysql locking

58
推荐指数
4
解决办法
16万
查看次数

MongoDB锁定写入的级别是多少?(或:"每个连接"是什么意思

在mongodb文档中,它说:

从2.2版本开始,MongoDB在每个数据库的基础上实现了大多数读写操作的锁.一些全局操作(通常是涉及多个数据库的短期操作)仍然需要全局"实例"广泛锁定.在2.2之前,每个mongod实例只有一个"全局"锁.

这是否意味着在我拥有3个与mongodb:// localhost/test的连接的情况下来自网络上运行的不同应用程序 - 一次只能写一个?或者只是每个连接?

IOW:它是每个连接,还是整个/测试数据库在写入时被锁定?

concurrency locking mongodb

58
推荐指数
4
解决办法
5万
查看次数