Experimento concurrente
En esta entrada dejaré el resultado de un experimento que surgió por una difícil pregunta que me generó varias dudas... El experimento es revisar el comportamiento de un programa usando un Map en forma concurrente: Comenzamos creando la clase con el map, luego agregarle algunos datos y el main: public class Concurrido { private final Map<Integer, String> estado = new HashMap<y>(); { IntStream.rangeClosed(1, 1_000_000) .forEach(i -> estado.put(i, String.valueOf(1))); } public static void main(String[] args) throws InterruptedException { final var c = new Concurrido(); final var t1 = new Thread(() -> { c.m1(); System.out.println("m1 terminado"); }); final var t2 = new Thread(() -> { c.m2(); System.out.println("m2 terminado"); }); t1.start(); t2.start(); t1.join(); t2.join(); System.out.println("fin"); } el main lanzará 2 hilos...