问题标签 [locks]

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 投票
1 回答
117 浏览

database - 在这种特定情况下,我应该使用哪种数据库锁定?

我有以下简单的场景。

三台计算机将更新电影院预订表。我应该锁定整个表还是锁定与将要更新的座位相对应的行?我可以在这里考虑乐观并发控制吗?

我只是在搜索乐观和悲观并发控制,偶然发现了不同的锁,想知道哪种锁最适合哪些场景。

0 投票
12 回答
16128 浏览

java - 锁可以自动关闭吗?

Locks可以自动关闭吗?也就是说,而不是:

...我能说......么:

...在 Java 7 中?

0 投票
2 回答
1027 浏览

linux - NFS3 上的 SVN 服务器“数据库已锁定”

尽管有很多关于此错误的主题,但我仍然无法设置 av SVN 服务器。服务器在 Scientific Linux 6 上运行,存储库应该通过 NFS3 存储在 SUNOS 存储服务器上。

我读到使用“nolocks”选项安装可以解决问题,但我不想这样做,因为很多用户同时在服务器上工作,我想删除锁会产生新问题。

SVN 已安装,正在处理本地文件,但是当我尝试在远程位置创建存储库时,文件已创建但我收到错误“数据库已锁定”并且无法使用存储库。我使用应该可以与 NFS 一起正常工作的 fsfs 系统。

有人可以为我提供其他选择吗?

0 投票
1 回答
177 浏览

mysql - Run database updates on live Magento store?

I have been asking a few questions recently to work out how to change our Magento store's product codes.

The answer was to run this command within phpmyadmin:

It worked perfectly, changing all of our product codes from:

to:

The problem is; everytime I run that command it correctly changes the product codes - but all products are then 404'ing. I then refreshed the indices and found that the were locked. I got the following error:

so I ran the following commands via SSH:

but the index processes still wouldn't run. I have now completely messed up the database and am waiting for a support tech to try and fix the problem. I will likely be recovering the database from the backup I took before I ran the SQL command.

I am trying to work out how to run this SQL command without messing the Magento (1.5) locks etc. up so that the products don't 404.

0 投票
1 回答
604 浏览

synchronization - vxWorks 中的读写锁

vxWorks中如何实现读写锁?

读者-作家锁: http ://en.wikipedia.org/wiki/Readers-writer_lock

0 投票
1 回答
1422 浏览

c# - C# 如何使用 Interlocked.CompareExchange

我的目标如下:

有一定范围的整数,我必须测试该范围内的每个整数是否随机。我想为此使用多个线程,并使用共享计数器在线程之间平均分配工作。我将计数器设置为起始值,让每个线程取一个数字,增加它,进行一些计算,然后返回一个结果。这个共享计数器必须用锁递增,否则在要测试的整数范围内会有间隙/重叠。

我不知道从哪里开始。假设我想要 12 个线程来完成这项工作,我会:

startThread()是我用于计算的方法。

你能帮我上路吗?我知道我必须使用 Interlocked 类,但仅此而已……。

0 投票
1 回答
1161 浏览

c - 文件锁定 C 编程

大家好,我正在使用文件制作程序我知道如何在文件中读写。但是请任何人帮助我了解 C 编程中的文件读写锁。比如如何插入锁以及如何释放它,尤其是在分叉。请给出一个小例子或教程,因为我没有提交任何关于 c 文件锁定的内容

谢谢

0 投票
2 回答
2134 浏览

java - 如何检查是否有任何线程在条件变量上等待?

我有名为 cond 的条件变量。

如果有任何线程在等待 cond,是否有任何方法可以给我真假?

我需要类似的东西: Boolean cond.isAwaitingSetEmpty()

感谢帮助

0 投票
5 回答
3432 浏览

python - 暂停两个 Python 线程,而第三个线程执行任务(带锁?)

我是并发编程的新手。

我想重复执行三个任务。前两个应该一直运行,第三个应该每隔一小时左右运行一次。前两个任务可以并行运行,但我总是想在第三个任务运行时暂停它们。

这是我尝试过的框架:

我希望这段代码每秒打印一个 f 和 ag,大约每五秒打印一个 h。但是,当我运行它时,大约需要 12 个 f 和 12 g 才能开始看到一些 h。看起来前两个线程不断释放并重新获取它们的锁,而第三个线程被排除在循环之外。

  1. 这是为什么?当第三个线程尝试获取当前持有的锁,然后将其释放时,不应该立即成功获取而不是第一个/第二个线程立即再次获取它吗?我可能误解了一些东西。
  2. 什么是实现我想要的好方法?

注意:将time.sleep(1)调用移出 withflock/glock 块适用于这个简单的示例,但显然不适用于线程大部分时间都在执行实际操作的实际应用程序。当前两个线程在每次执行循环体后休眠一秒钟时,随着锁的释放,第三个任务仍然永远不会被执行。

0 投票
3 回答
804 浏览

objective-c - 我需要使用 NSLock 吗?

我有一个 iOS 类,它在一个单独的线程中进行一些计算,而主线程显示一个允许用户取消计算的警报。计算线程使用几个实例变量,这些变量可以从主线程和计算线程访问。计算线程只读取这些变量,而主线程在计算线程存在时不会写入或读取这些变量。

我的问题是,我需要锁定这些变量吗?