Concurrency and Multi-Threaded Programming in Java – Part 2
blog.andrewhubbs.com