首页 > TAG信息列表 > race-condition

java-如何处理Cassandra中的竞赛条件?

我正在使用Cassandra db开发一个简单的Spring Boot微服务. 我的服务器在Subscription类中的主要实体如下: public final class Subscription { private String id; private String firstUser; private String secondUser; private String firstUserStatus;

c-如何使用升压原子消除竞争条件?

我正在尝试使用boost :: atomic在Linux上进行多线程同步. 但是,结果不一致. 任何帮助将不胜感激. 谢谢 #include <boost/bind.hpp> #include <boost/threadpool.hpp> #include <boost/thread/mutex.hpp> #include <boost/thread.hpp> #include <boost/atomic.hpp> boost::atomic

Linux内核中wait_event和wake_up之间的竞争条件

我是内核新手.在阅读源代码时,我只是遇到了这个问题. 在实现wait_event()时,内核执行以下操作: ... prepare_to_wait(); /* enqueue current thread to the wait queue */ ... schedule(); /* invoke deactivate_task() inside, which will dequeue current thread from the runque

互斥量时如何避免竞争条件?

我正在使用一个命名的系统互斥锁来同步2个进程.这是我目前在应用程序中获取互斥量的方式: using System.Threading; public static bool AcquireMutex() { // Protect against double acquisitions if (MyMutex != null) { throw new ApplicationException("F

java-同步方法是否可以具有竞争条件? [例]

我正在学习同步方法,以防止Java中的竞争状况和不良行为.向我提供了以下示例,并告诉我比赛条件非常微妙: public class Messages { private String message = null; private int count = 2; // invariant 0 <= count && count <= 2 public synchronized void put(String m

POSIX / Linux取消链接文件条目可以完全免费吗?

POSIX著名地让进程重命名和取消链接文件条目,而不考虑使用它们对其他文件的影响,而Windows默认情况下会引发错误,如果您甚至尝试触摸目录句柄,该目录的文件句柄在内部深处打开. 但是Windows不必太保守.如果使用FILE_FLAG_BACKUP_SEMANTICS和FILE_SHARE_DELETE打开所有文件句柄,并在

java-实现Runnable而不是扩展Thread时的不同行为

所以这是代码. 基本上,如果我们将ReadCalculation和Calculator类更改为扩展Thread而不是实现Runnable,则需要实例化这些类并将它们传递给新的线程对象,或者仅对它们调用start(). Calculator calc = new Calculator(); new ReadCalculation(calc).start(); new ReadCalculation(cal

python-处理仅在启动后立即出现的错误

我今天处理了一个错误,该错误仅在引导计算机后立即运行程序时出现.冷启动暴露了引发该错误的竞赛条件.我设法修复了它,但是花了很长时间,因为我不得不多次重启机器才能弄清楚发生了什么.将来有人可以提出更好的调试此类问题的方法吗?我可以以某种方式快速将计算机置于“刚刚启动”状

JavaScript中的数据竞赛?

假设我运行这段代码. var score = 0; for (var i = 0; i < arbitrary_length; i++) { async_task(i, function() { score++; }); // increment callback function } 从理论上讲,我理解这会导致数据争用,并且试图同时增加两个线程可能会导致单个增量,但是,已知nodejs(和javas

MySQL竞争条件

这会导致MySQL(InnoDB)的竞争条件: >开始交易. >尝试记录.>如果记录不存在,请返回.>如果存在记录,请将其删除并添加一个说明已删除的日志条目.>结束事务(提交/回滚). 是否可以在2b中的删除步骤之前启动另一个进程,检测是否存在记录,然后让两个进程在项目中输入项目删除条目? 我需要采

Javascript / Node中从不执行用户代码的隐藏线程:是否可能,如果可能,它会导致竞争条件的神秘可能性?

根据评论/答案,查看问题的底部以获取更新:这个问题实际上是关于不执行回调的隐藏线程的可能性. 我有一个关于涉及Node Request module的潜在神秘情景的问题,其中: >通过网络构建并执行完整的HTTP请求(需要很多ms甚至几秒) > …在本地计算机上运行时执行单个函数之前(通常以纳秒为单位

c – cppreference上错误的std :: condition_variable示例?

在他们example使用的std :: condition_variable中,他们基本上有 std::mutex m; std::condition_variable cv; bool ready = false; void worker_thread() { // Wait until main() sends data std::unique_lock<std::mutex> lk(m); cv.wait(lk, []{return ready;});

MySQL:防止竞争条件 – 更新或锁定共享模式?

这是我想要的交易订单: > User1选择字段,执行操作,使用新值更新. > User2选择字段,执行操作,使用新值更新.> User3选择字段,执行操作,使用新值更新. 从我understand开始,第一个选择仅执行写锁定,而第二个选择执行读写锁定. 两者似乎都可用,但在第一种情况下,User2读取的值是多少? Use

javascript – 使用jQuery AJAX调用防止“竞争条件”

我目前正在学习一种有点模糊的外语,所以我创建了一个简单的网站(http://ianburris.com/armenian/),以便我可以轻松查找课堂上使用的书中的单词.我注意到的一件事是,有时如果我输入类似“house”的内容,那么匹配“h”的单词的请求将在请求“ho”之后完成,因此“h”的结果将覆盖“ho

Linux IRQ处理程序中的固有竞争条件

假设有一个端口映射的I / O设备,它可以在IRQ线上任意产生中断.可以通过对特定寄存器的单个外部调用来清除设备的待处理中断. 此外,假设通过request_irq将跟随中断处理程序分配给相关的IRQ行: irqreturn_t handler(int irq, void *data) { /* clear pending IRQ on device *

php – jquery ajax调用不是异步的

我对jQuery实现它的AJAX方法很新鲜. 我有一个简单的设置,访问两个不同的页面,一个需要10秒钟完成(我有一个计时器设置)和一个检查第一页的状态. 这两个函数是progressCheck(),它每秒以最新状态请求其页面,而beginLogin()需要10秒才能加载.我在服务器上的用户对象中设置了一个值,两

java – TOCTOU中的竞争条件如何运作?

以下代码应该容易受到TOCTOU攻击: public Period(final Date start, final Date end) { if (start.compare(end) > 0) { throw new IllegalArgumentException(""); } this.start = start; this.end = end; // Class period has 2 private fin

java:竞争条件 – 有没有办法确保几行代码一起执行?

我有一个注册页面,它接收令牌广告解析它们并在参数适用时登录用户. 在我检查令牌的时间到我从数据库中删除令牌的时间之间,另一个用户可以使用相同的令牌登录.有没有办法确保在没有干扰的情况下执行特定范围的代码行,所以我不会遇到竞争条件问题? 谢谢 更新 我有两台服务器. > apach

Java parallel volatile i

我有一个全局变量 volatile i = 0; 和两个线程.每个都做以下事情: i++; System.out.print(i); 我收到以下组合. 12,21和22. 我理解为什么我没有得到11(挥发性不允许缓存我),我也理解12和22. 我不明白的是如何获得21? 如何获得这种组合的唯一可能方法是,稍后打印的线程必须是第一

在Java中,条件表达式是一个线程安全的操作吗?

我想知道条件表达式是否是Java中的线程安全操作. 例如.: return (mObject != null ? mObject.toString() : "null"); 所以,我的问题是:如果两个线程可以更改mObject,这个代码线程是安全的,还是开发人员需要处理任何竞争条件?解决方法:不,这绝对不是线程安全的.你肯定可以在这里获

php – 避免电子商务场景中的竞争条件

我的客户有一个销售电子产品的电子商务网站,并且有些情况下产品的销售次数超过了他们库存的次数.这是因为如果两个用户在库存中只剩下一个产品的同时购买产品,则一个会话在另一个会话开始之前没有完成将产品注销为售完(所以它继续正常,认为有一个左)即使在过程开始时有一个检查.这

`/usr/bin/python’出错:double free或corruption(out):0x00007f7c3c017260

我正在使用(优秀的)Flask框架在Python中开发一个网站.在后端代码中,我使用APScheduler每分钟运行一些类似cron的作业,我使用Numpy来计算一些标准偏差.不知道这些模块的用法是否重要,但我想我最好提一下它们,因为我猜它们可能最有可能是原因. 无论如何,在操作过程中,Python本身似乎

无竞赛目录步行(C)

我需要走一个目录树并获取每个文件的stat值.我想在修改文件系统时安全地执行此操作. 在Python中,最好的选项是os.fwalk,它允许访问被遍历目录的fd;然后我可以使用dir_fd(fstatat)os.stat并获取当前的stat值.这是可以在Linux上进行的无竞争(如果正在修改此目录的内容,我可能需要重新

如何测试多个ajax请求创建的竞争条件?

我正在使用PHP在数据库中创建一些对象.有时,如果用户在创建对象时请求对象,则可以看到部分创建的对象(主数据库条目存在但尚未插入所有子对象).我最近实现了一个修复,我的代码只有在通过向db条目添加’creating’标志完全创建后才能提供对象. 我该如何测试?我正在使用phpunit.我认为

可以一次多次写入PHP中的同一个文件?

我正在使用PHP的fputcsv来记录我们正在制作的应用程序中的投票.我的代码的保存部分大致重新解决了这个问题: $handle = fopen('votes.csv', 'a'); fputcsv($handle, $data); fclose($handle); 这在测试中完美无缺.但是,我有一个小问题.在生产中部署时,许多用户可能会同时向此脚本