Loading

创建线程的几种方式

继承 Thread 类重写 run 方法或者 new Thread 重写 run 方法

继承Thread类

image

直接new Thread重写run方法

image

lamada简化

image

实现 Runnable 接口

将Runnable作为target传递给线程执行

image

image

将线程与任务(Runnable)分开
使用Runnable更容易与线程池等高级API配合
使用Runnable让任务类脱离了Thread继承体系,更灵活

实现 Callable 接口,并结合 Future 实现

image

image

源码中的注释

image

Callable 与 Runnable 的区别

  • Callable可以抛出异常,Runnable不可以
  • Callable可以获取任务执行后的返回值,Runnable不可以

image

FutureTask:

image

image

通过线程池创建线程(推荐)

创建Runnable作为任务给线程池执行

image

posted @ 2021-06-20 09:53  Xianhao  阅读(48)  评论(0编辑  收藏  举报