when does a thread reach the terminated status? Does it get terminated when the end of the run() method is reached?

So what is the right way to check if a thread is terminated? Because following condition seems to be true always for me

if(!(thread.getState()).equals("TERMINATED")){}

Any ideas?

Edit
Report