问题标签 [mutual-exclusion]
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.
php - PHP互斥文件/ MySQL使用perl从文件中读取和执行语句
所以我想知道PHP如何/如果PHP在文件读写方面有某种互斥。
以下是我打算如何使用它:
我正在使用的网站使用需要离开服务器的支付服务,这使得处理表单提交变得困难,因此在从支付服务返回之前,表单不会被提交到数据库中。信息可以通过支付服务传递并在另一端反刍。但是,可以传递的信息最少。
我对解决方案的想法:
在将注册传递给支付服务之前,处理并在文件中写入 sql 语句,每组语句引用由某个令牌分隔的注册。
返回时,根据您通过支付服务发送的信息查找条目,执行语句并从文件中删除注册块。
改写问题:
- 所以问题是 - 在这种情况下,我是否需要对文件进行互斥,如果需要,我将如何实现?这可以从多种语言中锁定吗?(支付服务需要返回一个 cgi / perl 脚本——尽管我可以包含一个实际处理的 php 脚本)
- 我将如何运行和执行 SQL 语句(最好在 perl 中)?
- 我的解决方案是否看起来不错?
谢谢,
特拉维斯
ruby-on-rails-3 - 几个客户端请求之间的rails API中的互斥锁
我在我的 Rails API 中遇到了互斥问题。我的数据库中有一些 Event 对象,其中包含将参加该活动的人数。
考虑我的 Event 方法,它将一个人添加到事件中:
现在,假设客户端 A 和 B 想要参与事件 E。Rails 将收到 2 个请求并将并行调用 add_person 方法。最后,事件 E 中的人数可能不是加 2 而是加 1。
这就是我希望能够做到的:
我只想add_person
在同一个对象上排队该方法。
有没有办法做到这一点 ?
mutex - Peterson-2 互算法
Peterson 的 2 进程算法的无争用复杂度为 4(在入口代码中执行 3 两次对共享寄存器内存的访问,在退出代码中执行一次)。如何修改 Peterson 的 2 进程算法,使其无争用复杂度为 3?谢谢。
sql - 在实体框架中使用 SQL dB 列作为并发操作的锁
我们有一个长期运行的用户操作,由工作进程池处理。数据输入和输出来自 Azure SQL。
主 Azure SQL 表结构列近似为
beingProcessed
是布尔值并且lastTimeProcessed
是日期时间。每个工人角色的逻辑如下所示,并且有多个工人处理(每个工人都有自己的实体框架层),本质上beingProcessed
是用于互斥目的的锁
问题:如何beingProcessed
根据上述负载处理“锁”本身的并发问题?我认为 read-modify-write
对beingProcessed
需求的操作必须是原子的,但我对其他策略持开放态度。也对其他代码改进开放。
[更新]:我想知道TransactionScope
这里是否需要... http://msdn.microsoft.com/en-US/library/system.transactions.transactionscope(v=vs.110).aspx
代码:
sql-server - 如何创建互斥表列
我有一个表 Transactions ,其中我为一笔交易保存两条记录,一条用于借记和其他贷记。
creditAmount(Money)
所以我在 table和中有两列debitAmount(Money)
。
我想要一个表级约束,即每行中的任一列都不为空。即,如果第 3creditAmount
行为空,则debitAmount
必须保存一些值,反之亦然。
连续插入记录时如何确保相同?
java - 同步不进
注意:我不是在寻找解决方法;我敢肯定,如果有必要,我可以找到其他方法。我只是觉得我错过了一些基本的或古怪的东西,我想知道我错过了什么。或者,如果有一种方法可以使用调试器来获取更多信息,那也很好。谢谢!
我在使用同步时遇到问题。我收到了僵局,但这似乎完全不可能。我在每个同步调用之前、每个调用内部以及退出之前都放置了打印语句,这样我就可以看到谁拥有哪些同步对象。我发现即使当前没有人持有该对象的锁,它也不会进入我的同步调用之一。是否有一些我遗漏的怪癖或非法嵌套操作?这是我正在做的事情的要点。
哦,是的,最奇怪的是,删除两个“busyFlagObject”同步使它工作正常......
线程 1:
线程 2:
process - 在进程同步中,什么是 Monitor?
互联网上有很多关于 Semaphore、Mutex 等的信息。但据我搜索,Monitors 上没有明确的信息。
我知道 Mutex 有助于进程之间的互斥。二进制信号量也有类似的功能。那么引入一个叫做 Monitor 的新概念有什么用呢?
c# - 我可以使用资源本身作为监视器来锁定资源吗?
我有一个多线程运行上下文。我希望一个资源(比如说对象 r)是互斥的。我可以将资源本身用作其监控对象吗?
例如
joomla - joomla中的互斥
我使用以下方法为 joomla 创建了一个扩展:
我刚刚介绍过,如果两个用户登录到该站点,将在数据库中一起执行两条记录,然后此语句将在两种情况下返回相同的值。在 php 中,您可以通过事务解决此问题。
在 joomla 我该如何解决这个问题?
concurrency - 互斥(彼得森算法)
我在看 Peterson 的算法(2 个进程的互斥) 我的问题是,如果还没有进程进入临界区,而 P0 想第一次进入临界区,那么 P1 的标志会是假的,那么 P0 怎么办?进入它的关键部分?P0 进入其临界区的条件取决于我们的标志 P1 是否为真。
代码: