Package net.minecraft.util.thread
Class AtomicStack<T>
java.lang.Object
net.minecraft.util.thread.AtomicStack<T>
public class AtomicStack<T> extends Object
A fixed-size atomic stack, useful for tracking multithreaded access to
an object. When the stack is full on addition, it overrides the earliest
content in the stack.
- API Note:
- This class has final fields but its constructor has been removed by proguard, so it's not easily usable. Vanilla uses this for debugging purpose on paletted container and chunk holder's asynchronous access checks.
- Mappings:
Namespace Name official agcintermediary net/minecraft/class_5831named net/minecraft/util/thread/AtomicStack
-
Field Summary
Fields Modifier and Type Field Description private AtomicReferenceArray<T>contentsprivate AtomicIntegersize -
Constructor Summary
Constructors Constructor Description AtomicStack() -
Method Summary
-
Field Details
-
contents
- Mappings:
Namespace Name Mixin selector official aLagc;a:Ljava/util/concurrent/atomic/AtomicReferenceArray;intermediary field_28810Lnet/minecraft/class_5831;field_28810:Ljava/util/concurrent/atomic/AtomicReferenceArray;named contentsLnet/minecraft/util/thread/AtomicStack;contents:Ljava/util/concurrent/atomic/AtomicReferenceArray;
-
size
- Mappings:
Namespace Name Mixin selector official bLagc;b:Ljava/util/concurrent/atomic/AtomicInteger;intermediary field_28811Lnet/minecraft/class_5831;field_28811:Ljava/util/concurrent/atomic/AtomicInteger;named sizeLnet/minecraft/util/thread/AtomicStack;size:Ljava/util/concurrent/atomic/AtomicInteger;
-
-
Constructor Details
-
AtomicStack
public AtomicStack()
-
-
Method Details
-
push
Adds a value to this stack.If the stack is already at full capacity, the earliest pushed item in the stack is discarded.
- Parameters:
value- the value to add- Mappings:
Namespace Name Mixin selector official aLagc;a(Ljava/lang/Object;)Vintermediary method_33721Lnet/minecraft/class_5831;method_33721(Ljava/lang/Object;)Vnamed pushLnet/minecraft/util/thread/AtomicStack;push(Ljava/lang/Object;)V
-
toList
Builds a list of the contents of the stack.The more recently pushed elements will appear earlier in the returned list. The returned list is immutable and its size won't exceed this stack's size.
- Returns:
- a list of contents
- Mappings:
Namespace Name Mixin selector official aLagc;a()Ljava/util/List;intermediary method_33720Lnet/minecraft/class_5831;method_33720()Ljava/util/List;named toListLnet/minecraft/util/thread/AtomicStack;toList()Ljava/util/List;
-