有2个方式
1.继承Thread,第2实现Runnable接口,但是我们建议用实现接口的方式,因为继承只能单继承,实现可以实现多个接口。
下面的是启动线程的例子。
线程状态:
1.新建状态NEW : 就是线程被new出来,还没有start
2.可运行状态RUNNABLE 线程已经start了,但是没有执行结束
3.线程阻塞BLOCKED 如果某一线程正在等待监视器锁,以便进入一个同步的块/方法,那么这个线程的状态就是阻塞BLOCKED
4.等待WAITING
5.超时等待TIMED_WAITING
6.终止状态TERMINATED