Clean Design of Multithreaded Code - Java 8 Lambdas