Multithreading omogoča Java programu, da teče več niti sočasno, kar omogoča paralelizem (uporaba več jedier CPU-ja) in odzivnost (opravljanje dela brez blokiranja). Java ima prvo-razredno podporo za niti — vendar skupno spremenljivo stanje uvaja kompleksnost (race pogoji), ki jih je treba pazljivo upravljati.
Ustvarjanje niti
() -> System.out.println( + Thread.currentThread().getName());
(task);
t.start();
Executors.newFixedThreadPool();
executor.submit(task);
