问题标签 [locking]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
12711 浏览

sql-server - SQL Server 锁解释

下面是 SQL Server 2000 支持的锁列表。我对“意图”锁的实际含义有点困惑。我在网上四处张望,答案似乎有点神秘。

除了获得对我的具体问题的答案之外,我希望将此问题用作 Wiki,以了解每个锁的含义以及在什么情况下将获取该类型的锁。

  • 共享 (S)
    • 更新(U)
    • 独家 (X)
    • 意图
      • 意图共享 (IS)
      • 意向排他 (IX)
      • 与意图独占共享(六)
      • 意图更新 (IU)
      • 更新意图独占 (UIX)
      • 共享意图更新 (SIU)
    • 架构
      • 模式修改 (Sch-M)
      • 模式稳定性 (Sch-S)
    • 批量更新 (BU)
    • 键程
      • 共享密钥范围和共享资源锁 (RangeS_S)
      • 共享密钥范围和更新资源锁 (RangeS_U)
      • 插入键范围和空资源锁 (RangeI_N)
      • 独占键范围和独占资源锁 (RangeX_X)
      • 转换锁(RangeI_S、RangeI_U、RangeI_X、RangeX_S、RangeX_U)
0 投票
2 回答
422 浏览

svn - Locking File using Apache Server and TortoiseSVN

I am seeting up Apache server with TortoiseSVN for local source code repository. Currently on trial purpose I am setting only two users. Is it possible for administrator to set up some thing so that file get compulsory locked once its checkout (copy to working directory) by some one.

Abhijit Dhopate

0 投票
9 回答
10235 浏览

python - 由于 GIL,多线程 Python 代码中是否不需要锁?

如果您依赖于具有全局解释器锁(即 CPython)并编写多线程代码的 Python 实现,您真的需要锁吗?

如果 GIL 不允许并行执行多条指令,难道共享数据就不需要保护了吗?

抱歉,如果这是一个愚蠢的问题,但这是我一直想知道的关于多处理器/核心机器上的 Python 的问题。

同样的事情也适用于任何其他具有 GIL 的语言实现。

0 投票
3 回答
19480 浏览

sql - SQL 2005-2008 中的锁定行

有没有办法在不启动事务的情况下锁定 SQL 2005-2008 数据库中的一行,这样其他进程在解锁之前无法更新该行?

0 投票
4 回答
5982 浏览

c# - C# / ASP.NET - Web 应用程序锁定

我正在开发一个 C#/ASP.NET Web 应用程序,并且在许多情况下我需要进行锁定。理想情况下,我希望锁独立运行,因为它们彼此无关。我一直在考虑[MethodImpl(MethodImplOptions.Synchronized)]和一些使用方法lock(),但我有一些问题/疑虑。

看起来像 MethodImplOptions.Synchronized will essentially dolock(this)`。如果是这种情况,似乎一个线程进入任何同步方法都会阻止所有其他线程进入任何同步方法。那正确吗?如果是这样,这还不够细化。在这一点上,我似乎还不如使用 Application.Lock。(但如果我错了,请纠正我。)

关于lock(),我试图弄清楚我应该传入什么。我是否应该专门为此目的创建一组对象,并将每个对象用于不同的锁?有没有更好的办法?

提前致谢!

0 投票
3 回答
678 浏览

language-agnostic - 摆脱低级锁定的技术

我想知道并且需要可用于减少低级锁定的策略。然而,这里的问题是这不是服务器应用程序的新代码(具有数万行 C++ 代码),所以我不能只重写整个事情。

我担心现在可能无法解决这个问题(为时已晚)。但是,我想听听其他人使用过的好模式。

现在有太多的锁,没有那么多的冲突,所以这是一个偏执引起的硬件性能问题。描述代码的最佳方式是单线程代码突然充满了锁。

0 投票
11 回答
443452 浏览

sql-server - 乐观与悲观锁定

我了解乐观锁定和悲观锁定之间的区别。现在有人可以向我解释我什么时候会使用其中任何一个吗?

这个问题的答案是否会根据我是否使用存储过程来执行查询而改变?

但只是为了检查,乐观的意思是“阅读时不要锁定表格”,悲观的意思是“阅读时锁定表格”。

0 投票
10 回答
3184 浏览

version-control - 为什么要避免版本控制系统中的悲观锁定?

根据我读过的一些关于版本控制的帖子,似乎人们认为版本控制系统中的悲观锁定是一件坏事。为什么?我知道它会阻止一个开发人员提交更改,而另一个开发人员已签出文件,但那又如何呢?如果你的代码文件太大以至于你经常有不止一个人同时处理它们,我认为你应该重新组织你的代码。将其分解为更小的功能单元。

并发代码更改的集成是一个乏味且容易出错的过程,即使使用良好的版本控制系统提供的工具来简化它也是如此。我认为应该尽可能避免。那么,为什么不鼓励悲观锁定呢?

0 投票
8 回答
1187 浏览

c# - 如何在多线程上下文中使方法独占?

我有一个应该以排他方式执行的方法。基本上,它是一个多线程应用程序,其中方法由计时器定期调用,但也可以由用户操作手动触发。

让我们举个例子:

  1. 计时器到时,因此调用该方法。该任务可能需要几秒钟。

  2. 紧接着,用户点击了某个按钮,这应该会触发相同的任务:BAM。它什么都不做,因为该方法已经在运行。

我使用了以下解决方案:

像这样声明的地方lockObject

编辑:只有一个对象实例包含此方法,因此我将锁定对象更新为非静态。

有更好的方法吗?或者也许这个只是出于某种原因是错误的?

0 投票
3 回答
1319 浏览

java - Java中的自动锁定 - 如何?

离开作用域时释放资源(在这种情况下解锁 ReadWriteLock)的最佳方法是什么?如何涵盖所有可能的方式(返回、中断、异常等)?