多线程的创建的方法
- 继承Thread类
- 实现Runnable接口(推荐)
- 实现Callable接口(不常用,JUC编程)
//使用Runnable接口,则需创建代理对象Thread来调用star()方法; 例如:TestThread实现Runnable接口,在调用时: 1、TestThread th = new TestThread(); 2、Thread t = new Thread(th);//代理对象 3、t.star();
Lambda
Lambda简化线程的使用(用于:用与一个方法,并且简单的线程)
//内名内部类 new thread(new Runnable(){ public void run(){ Sysout.out.println("我是一个线程"); } }).star();
使用Lambda简化:
//jdk8 中加入简化的 lamdba new thread(()->{ public void run(){ Sysout.out.println("我是一个线程"); } }).star();
线程的状态
- 新生状态(new)
- 就绪状态(star)
- 运行状态(CPU运行)
- 阻塞状态
- 死亡状态(外部干涉,线程正常执行完毕)