问题标签 [concurrency]

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 回答
381 浏览

java - 这种检测心跳的方法是否线程安全且一致?

这个问题已经在两篇博http://dow.ngra.de/2008/10/27/when-systemcurrenttimemillis-is-too-slow/,http://dow.ngra.de/2008/10 /28/what-do-we-really-know-about-non-blocking-concurrency-in-java/),但我还没有听到明确的答案。如果我们有一个线程这样做:

以及许多运行以下命令的客户端:

它是线程安全的吗?

0 投票
9 回答
997 浏览

c# - 在多台 PC 上并行化我的 C# 程序的最简单方法是什么

我家里有很多不用的电脑。什么是我利用它们来并行化我的 C# 程序而几乎没有代码更改的最简单方法?

我正在尝试做的任务涉及遍历大量英语句子,数据集可以很容易地分成更小的块,在不同的机器上同时处理。

0 投票
5 回答
1133 浏览

garbage-collection - 具有并发垃圾收集器的功能语言?

Microsoft 的新 F# 编程语言提供了函数式编程(一流的词法闭包和尾调用)与高效的并发垃圾收集器的强大组合,可以轻松利用多核。

OCaml、Haskell、Erlang 以及我所知道的所有免费 Lisp 和 Scheme 实现都没有并发 GC。Scala 和 Clojure 有一个并发 GC,但没有尾调用。

因此,似乎没有结合这些功能的开源编程语言。那是对的吗?

0 投票
2 回答
721 浏览

java - Handling a timed out FutureTask

Let's say I do something in Java like:

My question is does something hold onto RemoteResponse in the case where TimeoutException is thrown? Will it get garbage collected? Do I have to call the cancel() method on the task for that to happen?

0 投票
7 回答
8906 浏览

database - Django中的原子操作?

我正在尝试为计数器实现(我认为是)一个非常简单的数据模型:

当有人通过时,它会查找与 visitType 和 visitDate 匹配的行;如果该行不存在,它将使用 counter=0 创建。

然后我们增加计数器并保存。

我担心的是,这个过程完全是一场竞赛。两个请求可以同时检查实体是否存在,并且它们都可以创建它。在读取计数器和保存结果之间,可能会出现另一个请求并增加它(导致计数丢失)。

到目前为止,我还没有真正找到解决这个问题的好方法,无论是在 Django 文档中还是在教程中(事实上,看起来教程的投票部分有一个竞争条件)。

我如何安全地做到这一点?

0 投票
6 回答
43625 浏览

java - Java volatile 引用与 AtomicReference

volatile对象引用和AtomicReference我只使用get()and set()-methods from之间有什么区别AtomicReference吗?

0 投票
2 回答
502 浏览

producer-consumer - 生产者完成后通知消费者

我正在从 ldap 读取大量数据,这些数据需要与数据库中的相应记录进行比较。为了尽量减少 SQL 查询的数量,我想将多个 ldap 记录批处理到一个查询中。

所有这一切都非常简单:一个产生 ldap 结果的线程,以及一个使用这些结果并运行 SQL 查询的线程。

问题是:如果 ldap 只返回 3 个结果并且buffer_size是 5 个结果,它将永远阻塞。我意识到我可以将一些特殊的标记放入缓冲区中,例如None, 或"EOF",但这似乎是一个糟糕的设计:“迭代直到你完成,哦,除非你看到这个特殊值,这意味着你也完成了”。

我想出了两个替代的想法。首先是有一个共享eof变量,但我不知道如何正确同步它。

第二个是ProduceChunks(chunk_size)为生产者提供一个方法,它会处理结果的批处理,但我不喜欢这样,因为它假设生产者知道如何最好地缓冲结果,而实际上,我认为是消费者的责任。

有没有人有任何指导?

0 投票
4 回答
3050 浏览

.net - .NET 是否有与 Java 的 ConcurrentHashMap 等效的 Dictionary 实现?

回顾那些可能不知道 Java API 的 .NET 专家:

Java 中的ConcurrentHashMap具有用于常见 Map 修改操作的原子方法(即不需要外部锁定),例如:

它还允许在没有锁定的情况下对键集进行迭代(它在迭代开始时获取一个副本),并且get()操作通常可以与调用交错put()而不阻塞(它使用细粒度的锁条带IIRC)。

无论如何,我的问题是:.NET 是否有等效的 Dictionary 实现?

我想更一般地说,我很想知道 .NET 是否有一组更通用的线程安全集合库。或一般的并发实用程序 - 相当于Doug Leajava.util.concurrent库。

0 投票
5 回答
49904 浏览

concurrency - 什么是记忆栅栏?

使用显式内存栅栏是什么意思?

0 投票
3 回答
1875 浏览

java - Jetlang PoolFiber 样本

我从jetlang开始,基本示例非常清晰。我没有找到使用 PoolFiber 的好示例。有人玩过吗?我还阅读了 retlang 示例,但那里似乎有点不同。

感谢您分享您的想法!

大神