isAlive测试线程是否活动。 所谓活动状态,是指线程已经启动且尚未终止。

sleep表示暂停执行,但是线程还是活着的,即isAlive还是true。

getId获取线程唯一标识。


停止线程是比较重要的,有始有终。

    这里面说明一下,停止线程,不可以用stop,这个方法是不推荐使用的,如同suspend和resume一样,都是作废的方法,使用它们可能产生不可预知的结果。


目前停止线程的方法有:

1、使用退出标志,在run方法完成后线程终止。推荐使用改种方法。

2、使用stop,不推荐,应该不用。

3、使用interrupt。该方法并不是立即停止,而是在线程中类似标志。


判断线程是否为停止状态:

1、interrupted(),表示当前线程是否中断。若返回true,表示中断,则将中断标志清零(即设置为false)

2、isInterrupted(),表示线程是否中断。若返回true,表示中断,且不会清空中断标志。

两者的区别在于,前者无论是哪个对象调用,即x.interrupted(),都表示调用该方法语句所在的线程是否中断。而后者x.isInterrupted(),表示x对象是否已经中断。