10-创建线程的方式
1、创建线程的几种方式
1.1、继承Thread类
- 继承
Thread
类,并重写run
方法创建线程,实现简单但不可以继承其他类
1.2、实现Runable接口
- 实现
Runable
接口,并重写run
方法;避免了单继承局限性,编程更加灵活,实现解耦
1.3、实现Callable接口
- 实现
Callable
接口并重写call
方法,创建线程,可以获取线程主席那个结果的返回值,并且可以抛出异常
1.4、使用线程池创建
补充
Runable和Callable的区别
- ①、
Runable
接口的run
方法无返回值;Callable
接口的call
方法有返回值,支持泛型 - ②、
Runable
接口的run
方法只能抛出运行时异常,无法捕获异常处理;Callable
接口的call
方法允许抛出异常,可以获取异常信息