Multithreading lejon një program Java të ekzekutojë disa rrjedhje të ekzekutimit njëkohësisht, duke mundësuar paralelizmin (duke përdorur disa bërthama CPU) dhe përgjigjen (duke kryer punë pa u bllokuar). Java ka mbështetje të rendit të parë për rrjedhjet — por gjendja e ndashme dhe e ndryshueshme përdor kompleksitet (kushte garimi) që duhet të menaxhohen me kujdes.
Krijimi i rrjedhave
() -> System.out.println( + Thread.currentThread().getName());
(task);
t.start();
Executors.newFixedThreadPool();
executor.submit(task);
