问题标签 [atomicinteger]

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 投票
1 回答
134 浏览

java - 在多个线程中更新 AtomicInteger 变量时未获得预期结果

在这段代码中,我使用 10 个线程更新 AtomicInteger 变量。我希望Counter.getInstance().holder.n的最终结果是 1000000,但它会打印出像 991591 这样的随机数。我的代码有什么问题?

0 投票
1 回答
218 浏览

java - 应用了java AtomicInteger accumAndGet

我有一个将值存储为 AtomicInteger 的 Counter 类。该类应该是线程安全的。我有方法boolean consume(int number)应该递减计数器并返回trueif counter >= number,并且不应该更改计数器并返回falseifcounter < number

而且我不知道该功能是否适用。我找到了以下解决方案

accumulateAndGet但是sais的javadoc :

该函数应该没有副作用,因为当尝试更新由于线程之间的争用而失败时,它可能会被重新应用。

所以,我的解决方案有副作用。使用安全吗?如果没有,我怎样才能得到相同的结果?

0 投票
1 回答
27 浏览

android - UI 线程绑定的 AtomicInteger

我一直在阅读有关 SMP 机器(x86/ARM)和编译器重新排序以提高效率的信息。现在我想创建一个计数器,变量作为 ActivityLifecycleCallbacks 实现的私有成员存在。对这个变量的操作是在来自 Android 的回调上执行的(它总是在 UI 线程上)。

现在因为“x++”不是原子语句。我需要使用 AtomicInteger 吗?即使变量总是只能在 UI 线程上访问?

0 投票
1 回答
177 浏览

atomic - Hazelcast AtomicLong 数据丢失当多个成员离开时

当多个成员从集群断开连接时,Hazelcast 失败。我的场景是如此基本,我的配置有 3 个 bakcup 选项(它不起作用)。我在一个集群中有 4 个成员,我使用 AtomicLong API 来保存我的 key->value。当所有成员都还活着时,一切都是完美的。但是,当我同时杀死 2 个成员(无需等待一段时间)时,会发生一些数据丢失。我的会员数总是4。有什么办法可以避免这种数据丢失?

谢谢。

0 投票
1 回答
84 浏览

java - 这种结构有意义吗?

面对一个带有此代码的项目:

这里我对三行代码感兴趣:

考虑到多线程和 AtomicInteger 变量的类型,这种情况是否有意义?或者这是一个毫无意义的检查?有趣的是,IntellijIdea 并没有强调这种结构毫无意义。

0 投票
1 回答
211 浏览

java - 需要了解多线程环境下AtomicInteger代码使用中的问题

在一次采访中,有人问我一个编码问题,我必须在该代码中找到问题并提出适当的解决方案。

请在下面找到整个代码:

此代码运行正常。但问题是,如果线程数增加或者我运行 For 循环近 10000 次,这段代码中就会出现一些问题。

我试图找出问题所在,但找不到问题。

0 投票
1 回答
1218 浏览

java - 原子整数的 compareandexchange() 与 compareandset()

在研究 AtomicInteger 时,我发现这个 API 提供了两种方法。

比较和交换

如果当前值(称为见证值)== expectedValue(具有由VarHandle.compareAndExchange(java.lang.Object...)

比较安集

以原子方式将值设置为newValueif 当前value == expectedValue,具有由 指定的记忆效果 VarHandle.compareAndSet(java.lang.Object...)

我无法理解两者之间的区别,请提供合适的示例。

0 投票
1 回答
704 浏览

java - 线程安全计数器 - 原子整数不起作用

我有(比如说)10 个线程。所有线程都会增加计数器,并且会记录相同的值。计数器是一个原子整数,但有时我会在计数器中得到重复的值。我期望的是 - 计数器是线程安全的,允许计数器一次由一个唯一的线程递增,一次由一个唯一的线程读取。我应该怎么做?!谢谢

0 投票
2 回答
50 浏览

java - 地图到关联数组

我有int[]以下内容的输入:

使用Map<Object, AtomicInteger>,我将其转换为以下对象:

换句话说,我正在计算动态数组的重复元素。

现在我需要找出最大和最小出现次数,我真的被困在进一步的步骤上。

重复元素类的代码如下:

0 投票
1 回答
50 浏览

java - 基于偏好的分组不断返回空值

这是我的人班

我正在尝试按偏好对人们进行分组,我最初是在 greenfoot 上编写的,它运行良好。但是,我最近想用 javafx 将它嵌入到 intellij 的一个项目中。当我在测试时,它系统输出null。虽然我也计划循环一个对象列表而不是在列表中添加每个对象 - 我试过了,它一直在发送空值。

我想打印类似的东西