Escrever código multi-thread correto e eficiente é extremamente difícil. Fazer isso manualmente com Threads é uma dor de cabeça com diversos bugs em potencial, cenários difíceis de reprodução, etc. Nesta talk mostrarei quais as alternativas que o Java nos traz como uma evolução: Concurrency Utilities, Fork/Join Framework e Parallel Streams.