多线程(一):创建线程的几种方法

概括来说就是两种:
1、继承Thread类,重写run方法,然后start。不推荐这种,因为java的单继承特性。


2、Thread类的构造函数中可以接受Runnable任务,所以只要是Runnable实例就可以作为参数给Thread

一般有两种创建Runnable实例的方法
(1)实现Runnable接口,实现里面的run方法,扔个Thread类,然后start


(2)也可以创建FutureTask类的实例,因为FutureTask实现了RunnableFuture接口(继承自Runnable接口)



FutureTask构造函数中这里传递的是Callable接口的实例,Callable接口和Runnable差不多,可以理解为更高级的Runnable,Callable里面的是call方法,Runnable里面的是run方法。唯一的区别就是call方法有返回值,能抛出异常。


猜你喜欢

转载自blog.csdn.net/qq_20245089/article/details/80957527