三种常用多线程实现方式
1. 继承Thread类
继承Thread线程类并且重写run方法无线程任务返回值
2. 实现Runnable接口
实现Runnable接口并且重写run方法无线程任务返回值
3. 实现Callable接口和通过Futrue接口实现类(FutrueTask)
实现Callable接口(泛型数据类型对应call方法的返回值)并且重写call方法自定义线程任务以及线程任务返回值(Futrue接口实现类FutrueTask管理线程任务返回值)
三种线程方式区别