在java中有两种方式可以实现多线程
1、继承Thread类,重写run()方法
2、实现Runnable接口,实例化Thread类
因为java中单继承,多实现的机制,继承Thread类有局限性,所以通过实现Runnable接口来实现多线程
线程的五种状态:新建、就绪、运行、阻塞和死亡
新建状态。当创建了线程对象,并没有调用start()方法,线程就处于新建状态。
就绪状态。当线程调用了start()方法之后,线程就处于就绪状态
运行状态。当线程获得CPU资源时,线程就处于运行状态,开始运行run()方法的代码。
阻塞状态。当线程正在运行的时候,被暂停;调用sleep(),wait()等方法都可以导致线程阻塞。
死亡状态。当线程的run()方法执行结束或者调用stop()方法后,线程就处于死亡状态