创建方式:
1.继承Thread类
步骤:① 定义一个线程类继承Thread 类
②重写run方法,里面是定义线程以后要做什么
③ new一个新线程对象
④ 调用start方法启动线程(执行的还是run方法)
2.实现Runable接口
①定义一个线程任务类,实现Runable接口
②重写run方法,定义线程执行任务
③创建一个任务对象(MyRunable)
④把任务对象交给Thread处理
⑤启动线程
3.实现Callable接口,结合FuthureTask完成
①定义一个任务类,实现callable接口,应该声明线程任务结束后的结果的数据类型
②重写call方法
③创建任务对象callable
④把任务对象callable交给FutureTask对象
⑤交给线程处理
⑥启动线程
下面是三种方式的优缺点: