创建线程的常见的几种方式
展开全部
创建线程的常见的几种方式
1.继承Thread类,重写run方法
继承Thread类的线程实现方式如下:
2.通过实现Runnable接口,重写run方法
3.通过Callable和FutureTask创建线程
(如上图FutureTask类实现了RunnableFuture接口,RunnableFuture接口继承了Runnable接口和Future接口,此时可知最终也是通过runnable接口调用的,Future帮助获取callable接口执行过程中的返回值或终止callable接口的执行)。future接口的常用的三种方法
a:创建Callable接口的实现类 ,并实现Call方法
b:创建Callable实现类的实现,使用FutureTask类包装Callable对象,该FutureTask对象封装了Callable对象的Call方法的返回值
c:使用FutureTask对象作为Thread对象创建并启动线程
d:调用FutureTask对象的get()来获取子线程执行结束的返回值
打印结果:
3.通过线程池的方式创建线程
比较
实现接口和继承thread类的比较
Runnable接口和callable接口的比较
1.继承Thread类,重写run方法
继承Thread类的线程实现方式如下:
2.通过实现Runnable接口,重写run方法
3.通过Callable和FutureTask创建线程
(如上图FutureTask类实现了RunnableFuture接口,RunnableFuture接口继承了Runnable接口和Future接口,此时可知最终也是通过runnable接口调用的,Future帮助获取callable接口执行过程中的返回值或终止callable接口的执行)。future接口的常用的三种方法
a:创建Callable接口的实现类 ,并实现Call方法
b:创建Callable实现类的实现,使用FutureTask类包装Callable对象,该FutureTask对象封装了Callable对象的Call方法的返回值
c:使用FutureTask对象作为Thread对象创建并启动线程
d:调用FutureTask对象的get()来获取子线程执行结束的返回值
打印结果:
3.通过线程池的方式创建线程
比较
实现接口和继承thread类的比较
Runnable接口和callable接口的比较
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询