import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.LongAdder;

public class StatisticheAccessi {
    public static void main(String[] args) throws InterruptedException {
        LongAdder visualizzazioni = new LongAdder();
        List<Thread> lavoratori = new ArrayList<>();
        for (int i = 0; i < 8; i++) {
            Thread lavoratore = Thread.ofVirtual().start(() -> {
                for (int j = 0; j < 1_000; j++) {
                    visualizzazioni.increment();
                }
            });
            lavoratori.add(lavoratore);
        }
        for (Thread lavoratore : lavoratori) {
            lavoratore.join();
        }
        long totale = visualizzazioni.sum();
        if (totale != 8_000) {
            throw new AssertionError("Visualizzazioni perse: " + totale);
        }
        System.out.println("Visualizzazioni concluse: " + totale);
    }
}
