Java多线程之状态与生命周期 https://blog.youkuaiyun.com/qq_33938256/article/details/51554647
Java线程的6种状态及切换(透彻讲解) https://blog.youkuaiyun.com/pange1991/article/details/53860651
Java创建线程的三种方式及其对比 https://blog.youkuaiyun.com/shenggaofei/article/details/52643137
线程创建有几种方式
1)继承Thread类创建线程
2)实现Runnable接口创建线程
3)使用Callable和Future创建线程
--------------------------------------三种创建线程方法对比--------------------------------------
实现Runnable和实现Callable接口的方式基本相同,不过是后者执行call()方法有返回值,后者线程执行体run()方法无返回值,因此可以把这两种方式归为一种这种方式与继承Thread类的方法之间的差别如下:
1、线程只是实现Runnable或实现Callable接口,还可以继承其他类。
2、这种方式下,多个线程可以共享一个target对象,非常适合多线程处理同一份资源的情形。
3、但是编程稍微复杂,如果需要访问当前线程,必须调用Thread.currentThread()方法。
4、继承Thread类的线程类不能再继承其他父类(Java单继承决定)。
注:一般推荐采用实现接口的方式来创建多线程