问题标签 [synchronization]

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 投票
2 回答
1664 浏览

mysql - 如何保持 2 个临时数据库同步

我的问题很像这个。但是我在 MySQL 上,我正在寻找我能找到的“最低技术”解决方案。

情况是我有 2 个数据库,其中应该包含相同的数据,但主要是在它们无法相互联系时进行更新。我怀疑有某种集群或主/从事物能够很好地同步它们。然而,在我的情况下,这是主要的矫枉过正,因为这只是我自己使用的临时数据库。

有什么好方法可以做到这一点?

我目前的方法是在其中一个上建立一个联合表,并且每隔一段时间,通过插入/选择将数据通过网络填充到另一个。尝试处理主键和不处理的东西有点令人费解。(insert ignore似乎无法正常工作)

ps 我可以轻松地构建一个查询来选择要传输的行。

0 投票
3 回答
588 浏览

algorithm - 请打破这个同步算法

P1 和 P2 是集群中的进程或节点。f1 和 f2 是他们的标志。假设强大的内存模型,并且两个进程都可能在任何时候重新启动,并且重新启动一个进程会清除它的标志,这是我想出的一个算法,但还不能破坏,但这让我很困扰,因为它在理论上没有得到证明并且与彼得森的相比,看起来太简单了。

有人能看到流量吗?除了其中一个进程可能会通过快速重新进入该部分而使另一个进程挨饿吗?

0 投票
9 回答
1520 浏览

java - 如何使用 Java 检测同步违规

我想知道有什么好的方法可以断言同步或其他东西,以便我可以检测同步违规(在测试时)。

例如,这将用于我有一个不是线程安全的类并且不会是线程安全的类的情况。以某种方式,如果从多个线程调用它的某些方法,我会有一些断言会通知我(日志或其他东西)。

我渴望可以为 AWT 调度线程制作类似的东西,如下所示:

我只想要更一般的东西。问题描述不是很清楚,但我希望有人有一些好的方法=)

0 投票
1 回答
106 浏览

datetime - 维护服务器时间的最佳方法是什么

许多应用程序经常需要服务器时间。

在客户端机器上维护服务器时间的最佳方法是对服务器的请求最小化。

0 投票
7 回答
38613 浏览

c# - C# 中各种线程同步选项有什么区别?

有人可以解释以下之间的区别:

  • 锁定(某个对象){}
  • 使用互斥锁
  • 使用信号量
  • 使用监视器
  • 使用其他 .Net 同步类

我就是想不通。在我看来,前两个是一样的?

0 投票
5 回答
444 浏览

java - 对线程安全函数的调用是否也需要同步?

如果我使用 ConcurrentHashMap(其中 put 是线程安全的),并且我提供了一个使用 ConcurrentHashMap put 的公共函数 myPut - 我需要同步我的函数吗?

含义:这应该同步吗?

0 投票
6 回答
16295 浏览

java - Java中哪些情况需要同步方法访问?

在什么情况下需要同步对实例成员的访问?我知道对类的静态成员的访问总是需要同步的——因为它们在类的所有对象实例之间共享。

我的问题是,如果我不同步实例成员,我什么时候会出错?

例如,如果我的班级是

在什么情况下(使用类MyClass)我需要方法: public synchronized setInstanceVar()public synchronized getInstanceVar()

提前感谢您的回答。

0 投票
4 回答
6410 浏览

java - 静态成员需要特殊的同步块吗?

我有一个看起来像这样的类:

我可以认为对象是同步的,还是因为它是静态成员而存在问题?

编辑:请注意,不同的线程可能正在访问 doSomething() 并且在这种情况下必须以线程安全的方式访问该对象。

0 投票
6 回答
559 浏览

.net - 可同步的CRM系统

我需要开发一个 CRM 系统,它允许用户拥有数据库的本地副本,然后可以与主服务器系统同步。这个想法是,销售团队可以前往非互联网区域并仍然使用相对最新的信息进行操作,然后在他们回到办公室时同步。

我以前从未做过这样的事情,有人可以推荐一个同步解决方案吗?

0 投票
4 回答
20425 浏览

java - 如何使用 Java 同步共享文件夹中的文件访问(或:网络级别的 ReadWriteLock)

我有多个应用程序在一台虚拟机中运行。我有多个虚拟机在一台服务器上运行。我有多个服务器。他们都使用 linux 上的共享文件夹共享一个文件。该文件由所有应用程序读取和写入。在写入过程中,不允许任何应用程序读取此文件。写入也是如此:如果应用程序正在读取文件,则不允许应用程序写入文件。

我如何设法同步应用程序,以便它们在读取之前等待写入过程完成,反之亦然?(虚拟机内的应用程序必须同步,跨服务器的应用程序也必须同步)

当前的实现使用“文件信号量”。如果文件即将被写入,应用程序会尝试通过在共享文件夹中创建一个附加文件(让我们将其命名为“file.semaphore”)来“获取”信号量。如果“file.semaphore”文件已经存在,这意味着信号量已经被另一个应用程序锁定。这种方法的问题是我无法确保“文件存在”-测试和“创建文件”-操作是原子执行的。这样,两个应用程序可能会测试“file.semaphore”文件,发现它不存在并尝试同时创建该文件。