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 agc
intermediary net/minecraft/class_5831
named net/minecraft/util/thread/AtomicStack
-
Field Summary
Fields Modifier and Type Field Description private AtomicReferenceArray<T>
contents
private AtomicInteger
size
-
Constructor Summary
Constructors Constructor Description AtomicStack()
-
Method Summary
-
Field Details
-
contents
- Mappings:
Namespace Name Mixin selector official a
Lagc;a:Ljava/util/concurrent/atomic/AtomicReferenceArray;
intermediary field_28810
Lnet/minecraft/class_5831;field_28810:Ljava/util/concurrent/atomic/AtomicReferenceArray;
named contents
Lnet/minecraft/util/thread/AtomicStack;contents:Ljava/util/concurrent/atomic/AtomicReferenceArray;
-
size
- Mappings:
Namespace Name Mixin selector official b
Lagc;b:Ljava/util/concurrent/atomic/AtomicInteger;
intermediary field_28811
Lnet/minecraft/class_5831;field_28811:Ljava/util/concurrent/atomic/AtomicInteger;
named size
Lnet/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 a
Lagc;a(Ljava/lang/Object;)V
intermediary method_33721
Lnet/minecraft/class_5831;method_33721(Ljava/lang/Object;)V
named push
Lnet/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 a
Lagc;a()Ljava/util/List;
intermediary method_33720
Lnet/minecraft/class_5831;method_33720()Ljava/util/List;
named toList
Lnet/minecraft/util/thread/AtomicStack;toList()Ljava/util/List;
-