计算机网络课设报告,java平台实现,Java;HTTP;Web服务器
子类中重写的run()方法。
通过Runnable接口,在该接口中定义run()方法的接口。所谓接口跟类非常类似,主要用来实现特殊功能,如复杂关系的多重继承功能。
线程被实际创建后处于待命状态,激活(启动)线程就是启动线程的run()方法,这是通过调用线程的start()方法来实现的。
线程状态:
1)New
当线程对象被创建时,处于该状态。
2)Runnable:就绪状态,线程满足运行的所有条件但没有正在运行的线程位于该状态,有以下几种情况:
a.处于New状态的线程执行start()。
b.处于Running状态的线程失去CPU。
c.处于Otherwise Block状态的线程阻塞解除。
d.处于Lock Block状态的线程阻塞解除。
3)Running:运行状态
处于运行状态的线程可能发生以下几种情况:
a.线程运行结束,进入Dead状态。
b.CPU被分配给其它线程,进入Runnable状态。
c.满足Otherwise Block的条件,进入Otherwise Block状态。
d.由于锁的原因无法执行,进入Lock Block状态。
e.由于等待的原因无法执行,进入Wait Block状态。
4)Dead:死亡状态
线程运行结束,对于主线程main()结束,对于普通用户线程run()结束。
5)Otherwise Block:阻塞状态,阻塞解除后进入Runnable状态
a.调用sleep(),阻塞解除条件为阻塞时间满。
b.调用join(),阻塞解除条件为调用join()的线程执行结束。
注意:线程进入该状态不会释放锁。
6)Lock Block:锁阻塞状态,阻塞解除后进入Runnable状态
由于无法获得需要的锁而阻塞地线程进入该状态,阻塞解除条件为获得所需的锁。
7)Wait Block:等待阻塞状态,阻塞解除后进入Lock Block状态