java如何实现多线程?线程的状态有哪些?

java实现多线程有两种方法
    1、继承Thread类
    2、实现Runnable接口
    这两种方法的共同点:
    不论用哪种方法,都必须用Thread(如果是Thead子类就用它本身)产生线程,然后再调用start()方法。

两种方法的不同点:
1、继承Thread类有一个缺点就是单继承,而实现Runnable接口则弥补了它的缺点,可以实现多继承
2、继承Thread类必须如果产生Runnable实例对象,就必须产生多个Runnable实例对象,然后再用Thread产生多个线程;而实现Runnable接口,只需要建立一个实现这个类的实例,然后用这一个实例对象产生多个线程。即实现了资源的共享性

线程共有6种状态:
NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING、TERMINATED
分别对应于
新建、运行、阻塞、等待、带超时的等待、终止

原文地址:https://www.cnblogs.com/sea-stream/p/11245866.html