上面2位已经解释了你问的问题,但是估计你还是没弄明白吧??
其实很简单,你问的问题可能都不是你真正想知道的哦。线程的几种状态:很难说你能把NEW,RUNNABLE也算在状态里面啊。
首先你要清楚的是:线程如果只是单线程那么很多状态都是不需要使用的,我们一般说线程大家都会想到多线程。
那么你首先要知道多线程是什么:多线程有2种实现方法:一种是:继承:extends thread(这是通过继承THREAD父类实现的,但是你应该知道JAVA是单继承,如果继承了THREAD就没发再继承其他的了,所以很少用到)
第二种是:实现:implements runnable(这就是你写道的RUNNABLE,他不是什么状态,是一个类(runnable),JAVA工程师通过实现runnable类让JAVA更灵活,因为JAVA是支持多实现的,所以我们基本都用RNNABLE来实现多线程,要重点掌握)
但是你要明白最重要的是:runnable仍然是通过thread来创建多线程的。只不过你的子类是通过实现runnable接口而已:所以你要知道在thread构造函数里面有个方法是:Thread s=new Thread(x); 这里面的 x就是你的子类。通过这样来实现了runnable和thread的联系。做到了用runnable实现多线程。
以上如果你都理解了,那么至于后面的wait, notify, sleep , interrupt , blocked简单的状态处理应该不会难到你了,那些毕竟只是对线程的操作!!!
---------------------上面都是基础东西,废话我说得有点多了。不知道能帮助你不,如果我说的太简单,你都知道的,就算巩固吧!!!!
|