学习目标:
可以对Thread内部执行有更好的理解
例如:
- 对Thread和Runnable有更好的了解
内容:
创建线程方式一:Thread重写run方法
//创建线程对象
Thread t1=new Thread(){
@Override
public void run() {
//要执行的任务
System.out.println(1);
}
};
//启动线程
t1.start();
创建线程方式二:使用Runnable配置Thread
//创建任务对象
Runnable runnable= () -> System.out.println(2);
//将任务对象交给Thread执行
Thread thread = new Thread(runnable,"thread2");
//启动线程
thread.start();
内部实现:使用Runnable配置Thread如何实现
点击Thread查看源码
创建线程方式三:FutureTask配合Thread
//创建任务对象,此类有返回值
FutureTask<Integer> futureTask = new FutureTask(() -> {
log.info("要执行的任务");
return 1;
});
new Thread(futureTask,"我是线程的名称").start();
//获取到任务对象的返回值
//主线程阻塞,同步等待futureTask执行完毕的结果
Integer result = futureTask.get();
log.info("执行任务对象的返回值是: {}",result);
学习产出:
- 线程实现方式