Mastering Java threads for experienced developers