【并发编程篇04】创建线程的方式

43 阅读1分钟

创建线程有4种方式:

  • 继承Thread类
  • 实现Runnable接口
  • 实现Callable接口
  • 线程池创建线程

image.png

image.png

image.png

image.png

Runnable 和 Callable 有什么区别

  1. Runnable 接口run方法没有返回值
  2. Callable接口call方法有返回值,是个泛型,和Future、FutureTask配合可以用来获取异步执行结果
  3. Callable接口的call方法允许抛出异常,而Runnable接口的run方法的异常只能内部消化,不能继续上抛

启动线程的时候,可以使用run方法吗?run方法和start方法区别?

start方法:用来启动线程,通过该线程调用run方法,start方法只能被调用一次。

run方法:封装了要被线程执行的代码,可以调用多次