长变量的primefaces增量?

如果长变量声明为: –

private volatile long counter = 0;

现在,如果我使用预增量运算符递增它,那么操作是primefaces的吗?

如果是,那么它会比java.util.concurrent.atomic.AtomicLong对象的增量更有效吗?

volatile关键字仅解决可见性问题。 您必须使用AtomicLongsynchronized方法/块来实现primefaces性( 并发编程中的primefaces性 )。

今天又发表了一篇文章: 展示何时需要挥发性

预增量运算符不是primefaces的。 此外,增加volatile long可能比在几乎所有平台上使用AtomicLong效率低,因为后者由硬件支持。

简短的回答是否。您需要同步递增计数器的方法,或者最好使用AtomicLong。

对于记录,++运算符即使在整数上也不是primefaces的。

volatile变量与primefaces变量不同。

对于volatile变量,java编译器将尝试最小化混乱命令,以提高效率(不要问我详细信息……),以避免并发问题。

为primefaces操作明确地创建了primefaces变量,就像在你的情况下以primefaces方式递增变量一样。