Class BBHeader.ReadAndWriteCounterRef
java.lang.Object
com.github.benmanes.caffeine.cache.BBHeader.PadReadCounter
com.github.benmanes.caffeine.cache.BBHeader.ReadCounterRef
com.github.benmanes.caffeine.cache.BBHeader.PadWriteCounter
com.github.benmanes.caffeine.cache.BBHeader.ReadAndWriteCounterRef
- Direct Known Subclasses:
BoundedBuffer.RingBuffer
- Enclosing class:
- BBHeader
Enforces a memory layout to avoid false sharing by padding the write count.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) static final long
(package private) long
Fields inherited from class com.github.benmanes.caffeine.cache.BBHeader.PadWriteCounter
p20, p21, p22, p23, p24, p25, p26, p27, p30, p31, p32, p33, p34, p35, p36
Fields inherited from class com.github.benmanes.caffeine.cache.BBHeader.ReadCounterRef
READ_OFFSET, readCounter
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) boolean
casWriteCounter
(long expect, long update) (package private) long
Methods inherited from class com.github.benmanes.caffeine.cache.BBHeader.ReadCounterRef
lazySetReadCounter
-
Field Details
-
WRITE_OFFSET
static final long WRITE_OFFSET -
writeCounter
volatile long writeCounter
-
-
Constructor Details
-
ReadAndWriteCounterRef
ReadAndWriteCounterRef(int writes)
-
-
Method Details
-
relaxedWriteCounter
long relaxedWriteCounter() -
casWriteCounter
boolean casWriteCounter(long expect, long update)
-