🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## **线程创建方式** * 继承Thread类 * 实现Runnable接口 * 匿名内部类 ## **线程运行状态** ``` Thread t = new Thread(r); ``` | 状态 | 描述 | | --- | --- | | 新建 | 创建线程对象 new Thread(r) | | 就绪 | 调用t.start()方法,等待cpu执行 | | 运行 | 获得cpu,执行t.run()方法 | | 阻塞 | 调用sleep方法、I/O阻塞、获取锁等 | | 死亡 | t.run()方法执行完毕或者异常终止 | ## **守护线程** * 用户线程:用户自定义创建的线程,主线程停止,用户线程不会停止。 * 守护线程:主线程停止或者进程不存在,守护线程也会停止。 * setDaemon(true)可设置线程为守护线程。 ## **其它** join方法:主线程当中执行到t.join()方法时,执行权让给t线程 ,t线程执行完毕后,主线程才能执行 ``` public static void main(String[] args) { Thread t = new Thread(new Runnable() { @Override public void run() { ... } }); t.start(); t.join(); ... } ```