java之AtomicInteger 公平吗

lhb25 阅读:12 2024-06-03 14:00:57 评论:0

是否 AtomicInteger提供任何形式的公平保证?像先到先服务的线程执行顺序就可以了? Victor Grazi's concurrent animated 上的动画示例绝对没有表现出任何这样的公平。我已经搜索过,但没有找到任何结论。

请您参考如下方法:

不,没有这样的保证。如果有的话,会在文档中详细说明。

仔细想想,AtomicInteger 基本上是 compare-and-swap 的一个薄包装器。 (或类似的)。保证先到先服务的语义将需要线程之间的同步,这是昂贵的,并且与 AtomicInteger 的想法相反。

事情是这样的,如果有多个线程想要同时 incrementAndGet() 相同的原子整数,它们完成比赛的顺序是不确定的。


标签:java
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号