concurrency相关内容

并发集合队列

也许这是一个愚蠢的问题,但我似乎找不到一个明显的答案. 我需要一个仅包含唯一值的并发 FIFO 队列.尝试添加队列中已经存在的值只会忽略该值.如果不是为了线程安全,那将是微不足道的.是否有 Java 中的数据结构或互联网上的代码片段表现出这种行为? 解决方案 如果你想要比完全同步更好的并发性,我知道有一种方法可以做到这一点,使用 ConcurrentHashMap 作为支持映射.以下 ..
发布时间:2022-01-17 18:11:43 Java开发

Java中不同类型的线程安全集

似乎有很多不同的实现和方法可以在 Java 中生成线程安全的 Set.一些例子包括 1) CopyOnWriteArraySet 2) Collections.synchronizedSet(Set set) 3) ConcurrentSkipListSet 4) Collections.newSetFromMap(new ConcurrentHashMap()) 5 ..
发布时间:2022-01-17 17:53:31 Java开发

单例 Azure 函数作为单独的实例运行

我们有一个 Azure 函数,它应该同时处理多个服务总线触发器,我假设正在发生的事情是它被拆分到多个实例中,这导致了我们端的一些并发问题. 我们需要我们的函数充当单例,这样我们就可以一次处理一个请求而不会发生任何冲突.根据我们在本文中的研究 (https://docs.microsoft.com/en-us/azure/app-service/webjobs-sdk-how-to#singl ..
发布时间:2022-01-17 15:53:16 C#/.NET

Doctrine2 ORM 选择更新

您能否建议一种如何使用 Doctrine 实现 SELECT FOR UPDATE 的方法? 我需要读取一个计数器值,然后在 PHP 代码中使用它,并在其他人(来自另一个进程)使用相同的值之前立即递增该值. 解决方案 锁定支持 Doctrine 2 实现 对实体的锁定支持: find('User', $theEntityId, LockMode::OPTIMISTIC, $e ..
发布时间:2022-01-16 17:28:05 PHP

java中的偏向锁定

我一直在阅读有关偏向锁定如何使用标志 -XX:+UseBiasedLocking 可以提高非竞争同步性能的文章.我找不到关于它的作用以及它如何提高性能的参考. 谁能解释一下它到底是什么,或者可能指向一些可以解释的链接/资源? 解决方案 本质上,如果您的对象仅被一个线程锁定,JVM 可以进行优化并将该对象“偏置"到该线程,以便后续对象上的原子操作不会产生同步成本.我想这通常适用于过于保 ..
发布时间:2022-01-16 12:34:15 Java开发

假设我知道我将在 x64 cpus 上运行,我可以忽略哪些 JVM 同步实践?

我知道 JVM 内存模型是为 CPU 的最小公分母而设计的,因此它必须假设 JVM 可以在其上运行的 CPU 的最弱模型(例如 ARM). 现在,考虑到 x64 具有相当强大的内存模型,假设我知道我的程序只能在 64 位 x86 CPU 上运行,我可以忽略哪些同步做法?当我的程序通过虚拟化运行时,这也适用吗? 示例: 众所周知,JVM 的内存模型需要同步对 long 和 double ..
发布时间:2022-01-16 12:24:40 Java开发

如何减少java并发模式失败和过多gc

在Java中,并发模式失败意味着并发收集器未能从tenured和permanent gen中释放足够的内存空间,不得不放弃并让完整的stop-the-world gc启动in. 最终结果可能会非常昂贵. 我了解这个概念,但对 没有很好的全面了解A) 什么可能导致并发模式失败和 B) 解决方案是什么? 这种不清楚导致我在没有太多提示的情况下编写/调试代码,并且经常不得不在没有特殊原因 ..
发布时间:2022-01-16 09:46:00 Java开发

增加 DynamoDB 中的分片数量以并行启动更多 lambda

我目前正在使用 DynamoDB 流来处理使用 lambda 函数更改的集合值,但是,目前,我只并行运行两个 lambda 实例,这不足以处理所有传入的数据和 lambda 函数刚刚排队. 从 aws 文档中,我可以看到可以并行运行的 lambda 数量与 DynamoDB 的分片数量成正比: 如果您创建一个 Lambda 函数来处理来自基于流的服务(Amazon Kinesis St ..

DynamoDB 中原子计数器的可靠性

我正在考虑在我的应用程序中使用 Amazon DynamoDB,但我对它的 原子计数器可靠性. 我正在构建一个分布式应用程序,它需要同时和一致递增/递减存储在 Dynamo 属性中的计数器.我想知道 Dynamo 的原子计数器在重并发环境中的可靠性如何,其中并发级别非常高(假设,例如,平均 20k 并发命中率 - 明白这一点,这将是近 520 亿的增量/每月递减). 计数器应该是超级可 ..
发布时间:2022-01-15 17:01:54 其他开发

在 Lucene 中,如何确定 IndexSearcher 或 IndexWriter 是否正在另一个线程中使用?

Lucene 文档指出,IndexSearcher 和 IndexWriter 的单个实例应该用于整个应用程序中的每个索引,并跨所有线程使用.此外,在重新打开索引之前,对索引的写入将不可见. 所以,我正在尝试在多线程设置中遵循这些指南.(几个线程写入,多个用户线程搜索).我不想在每次更改时重新打开索引,而是希望搜索器实例不超过一定的时间(比如 20 秒). 一个中心组件负责打开索引读取 ..
发布时间:2022-01-15 13:20:45 Java开发

Lucene.Net 是否管理访问同一索引的多个线程,一个索引而另一个正在搜索?

当将 Lucene.Net 与 ASP.NET 一起使用时,我可以想象一个 Web 请求可以触发对索引的更新,而另一个 Web 请求正在执行搜索.Lucene.Net 是否内置了管理并发访问的能力,还是我必须对其进行管理以避免“被另一个进程使用"错误? 编辑:阅读文档和实验后,我认为我学到了:有两个问题,线程安全和并发.多线程是“安全的",因为您不能对索引做任何坏事.但是,这是安全的,代价是 ..
发布时间:2022-01-15 12:33:23 C#/.NET

MongoDB对同一文档的并发更新不是原子的

目前,我们有一个 orderId,我们为此向用户提供好处(发布).有多个事件可以触发福利/发布.但条件是只应触发 1 个事件.因此,为了处理当前请求,我们创建了一个布尔字段 POSTING_EVENT_SENT,最初设置为 false,之后任何能够将其标记为 true 的人都可以继续进行. public boolean isOrderLockedAndUpdatedToTriggerPostin ..
发布时间:2022-01-13 13:52:33 Java开发

新 ASP.NET MVC 6 标识中 AspNetUsers 表中的 ConcurrencyStamp 列的用途是什么?

新的 ASP.NET MVC 6 标识中 AspNetUsers 表中的 ConcurrencyStamp 列的用途是什么? 这是 AspNetUsers 表的数据库架构: 它也在 AspNetRoles 表中: 我记得它在 ASP.NET MVC 5 标识中不存在. 到目前为止,我注意到它似乎具有 GUID 值,因为它是使用以下代码定义的: //////一个随机 ..

Python pool.map/Multiprocessing 的 Java 等效项

我想知道是否有人可以指出我在 java 中的一个简单等效的 python 多处理模块. 我有一个简单的并行处理场景(其中没有 2 个进程交互):获取一个数据集并将其拆分为 12 个并将 java 方法应用于 12 个数据集,收集结果并将它们加入某种列表中相同的顺序. 作为“专业"语言的 Java 似乎有多个库和方法 - 谁能帮助这个 Java 新手入门? 我想用最少的代码来做这件 ..

启动 concurrent.futures.ProcessPoolExecutor 并初始化?

我打算使用 concurrent.futures.ProcessPoolExecutor 来并行执行函数.根据 documentation,它的 executor 对象map 中只能接受一个简单的函数.我的实际情况涉及执行“待并行化"函数之前的初始化(加载数据).我该如何安排? “待并行化"函数在一次迭代中被多次调用.我不希望它每次都重新初始化. 换句话说,有一个 init 函数可以为 ..
发布时间:2022-01-12 13:12:12 Python