线程的生命周期就是线程的5个状态。
1.线程新建状态:在程序的堆区中创建线程对象。
new 线程对象;
2.线程的就绪,运行,阻塞状态:线程对象存储于操作系统线程队列中的3个相互切换的状态。
就绪状态:线程对象.start();//设置线程的就绪状态(如果线程没有进入就绪状态,那么,线程的运行,阻塞状态是不能设置的)。
阻塞状态:Thread.sleep();//线程休眠(当休眠时间到达指定时间时,自动将线程恢复到就绪)
this.wait();//线程等待(需要通过this.notify();或this.notifyAll();人工进行线程状态的改变,将其阻塞的线程改为就绪)。
运行状态:操作系统自动控制,运行之后会自动恢复为就绪状态。
1.线程新建状态:在程序的堆区中创建线程对象。
new 线程对象;
2.线程的就绪,运行,阻塞状态:线程对象存储于操作系统线程队列中的3个相互切换的状态。
就绪状态:线程对象.start();//设置线程的就绪状态(如果线程没有进入就绪状态,那么,线程的运行,阻塞状态是不能设置的)。
阻塞状态:Thread.sleep();//线程休眠(当休眠时间到达指定时间时,自动将线程恢复到就绪)
this.wait();//线程等待(需要通过this.notify();或this.notifyAll();人工进行线程状态的改变,将其阻塞的线程改为就绪)。
运行状态:操作系统自动控制,运行之后会自动恢复为就绪状态。
3.线程终止状态:将线程对象从操作系统线程队列中删除(当run函数执行结束,该线程就会自动从线程队列中移除)。
线程何时进入阻塞状态:http://www.poorren.com/java-thread-sleep/