public final class FastThreadLocalObject<T> extends FastThreadLocal
Object
. See
FastThreadLocalFactory
for details and restrictions of VM thread local variables.
The get
methods return a value with static type information attached stating that the
value has the class
provided by the
factory
. The set
methods do not perform any
type check. In other words, it is the responsibility of the user to not violate the contract and
store a value with a wrong type.BYTE_OFFSET, FIRST_CACHE_LINE
Modifier and Type | Method and Description |
---|---|
boolean |
compareAndSet(org.graalvm.nativeimage.IsolateThread thread,
T expect,
T update) |
boolean |
compareAndSet(T expect,
T update) |
T |
get() |
T |
get(org.graalvm.nativeimage.IsolateThread thread) |
Class<T> |
getValueClass() |
T |
getVolatile() |
T |
getVolatile(org.graalvm.nativeimage.IsolateThread thread) |
void |
set(org.graalvm.nativeimage.IsolateThread thread,
T value) |
void |
set(T value) |
void |
setVolatile(org.graalvm.nativeimage.IsolateThread thread,
T value) |
void |
setVolatile(T value) |
getLocationIdentity, getMaxOffset, setMaxOffset
public T get()
public T get(org.graalvm.nativeimage.IsolateThread thread)
public void set(T value)
public void set(org.graalvm.nativeimage.IsolateThread thread, T value)
public T getVolatile()
public T getVolatile(org.graalvm.nativeimage.IsolateThread thread)
public void setVolatile(T value)
public void setVolatile(org.graalvm.nativeimage.IsolateThread thread, T value)