原子整数lazySet性能提升

时间:2014-09-15 04:14:31

标签: java multithreading performance concurrency atomic

文章“Atomic*.lazySet is a performance win for single writers”解释了lazySet是一种弱易失性写入(在某种意义上它充当商店而不是商店负载围栏)。但我不明白利用半易失性写入如何提高并发队列性能。它究竟是如何提供claimed by Menta-queue的超低延迟?

我已经阅读了它的实现,并且它在堆栈溢出问题上声称:“How is lazySet in Java's Atomic* classes implemented”和“Atomic Integer's lazySet vs set。”

1 个答案:

答案 0 :(得分:1)

x86上的易失性写入问题是它会发出完全的内存屏障,导致在store buffer耗尽之前停顿。同时x86上的lazySet是一个简单的商店。它不需要刷新在存储缓冲区中等待的所有先前存储,因此允许写入线程以全速运行。

Martin Thompson's article中对此进行了描述。