package performance; import java.util.concurrent.CyclicBarrier; import java.util.concurrent.atomic.AtomicReference; import collection.Stack; import synchronised.ConcurrentStack; public class Main { public static final AtomicReference start = new AtomicReference();; public static void main(String[] args) { final Stack stack = new ConcurrentStack(); final double percentage = 0.5; final int threads = 10; final CyclicBarrier barrier = new CyclicBarrier(threads + 1) final Task[] task = new Task[threads]; for (int t = 0; t < threads; t++) { task[t] = new Task(stack, percentage, barrier); task[t].start(); } System.gc(); barrier.await(); for (int t = 0; t < threads; t++) { task[t].join(); } } }