<dependency>
<groupId>org.jctools</groupId>
<artifactId>jctools-core</artifactId>
<version>...</version>
</dependency>
import org.jctools.queues.MpscArrayQueue;
public class ConcurrentQueueExample {
private static MpscArrayQueue<Integer> queue = new MpscArrayQueue<>(1024);
public static void main(String[] args) {
Thread producerThread = new Thread(() -> {
for (int i = 0; i < 1000; i++) {
queue.offer(i);
}
});
Thread consumerThread = new Thread(() -> {
while (true) {
Integer element = queue.poll();
if (element != null) {
System.out.println("Consumed: " + element);
}
}
});
producerThread.start();
consumerThread.start();
}
}