Многопоточность в Java
Java. Остановись задача
Два простых правила для предотвращения взаимных блокировок на мьютексах
java.util.concurrent. Часть первая: Зачем и почему?
Java: executor с уплотнением по ключам