I'm not sure if I understand the question but if you want a certain code to be executed after a certain thread finish executing his task you should use a ThreadPoolExecutor and rewrite the afterExecute method . hope this helps