### Question:
HugeAtomicLongArray { public abstract void setAll(long value);  abstract long get(long index); abstract void set(long index, long value); abstract boolean compareAndSet(long index, long expect, long update); abstract long compareAndExchange(long index, long expect, long update); abstract void update(long index, LongUnaryOperator updateFunction); abstract long size(); abstract long sizeOf(); abstract void setAll(long value); abstract long release(); LongNodeProperties asNodeProperties(); static HugeAtomicLongArray newArray(long size, AllocationTracker tracker); static HugeAtomicLongArray newArray(long size, LongPageCreator pageFiller, AllocationTracker tracker); static long memoryEstimation(long size);  }### Answer:
@Test void testSetAll() { var pool = Executors.newCachedThreadPool(); try { int nthreads = Runtime.getRuntime().availableProcessors() * 2; var arraySize = 42_1337; var phaser = new Phaser(nthreads + 1); var aa = singleArray(arraySize); var tasks = new ArrayList<GetTask>(); aa.setAll(42); for (int i = 0; i < nthreads; ++i) { var t = new GetTask(aa, phaser); tasks.add(t); pool.execute(t); } phaser.arriveAndAwaitAdvance(); tasks.forEach(t -> assertEquals(42 * arraySize, t.result)); } finally { pool.shutdown(); } }