首页 > 编程语言 > 详细

初始化线程四种使用方式

时间:2021-07-08 09:50:21      阅读:17      评论:0      收藏:0      [点我收藏+]

1)、继承Thread

技术分享图片

 

 

 

2)、实现Runnable,接口

  技术分享图片

 

 

以上两种执行结果都是一样


3)、实现 Callable接口+FutureTask(可以拿到返回结果,可以处理异常

  技术分享图片

 

 相当于阻塞整个线程执行完成,获取返回结果,才会往下执行,不获取结果跟Thread 和 Runnable执行结果是一样的效果

 

 

   FutureTask<V>不仅可以接收Callable 还可以接收 Runnable

技术分享图片

 

4)、线程池

  多线程异步任务一般都是用线程池,业务上避免一直使用以上三种方式会浪费资源

  使用Executors工具类,原生的线程池可自行了解使用

 Executors.newFiexedThreadPool(3);
//或者 new ThreadPoolExecutor(corePoolSize,maximumPoolSize,keepAliveTime, TimeUnit unit,workQueue, threadFactory, handler);

 

技术分享图片

execute方法是无返值,submit按需使用都有返回值

技术分享图片

 

 

  以上四种的区别:

    1,2不能得到返回值,3可以获取返回值

    1,2,3都不能控制资源

    4可以控制资源,性能稳定

初始化线程四种使用方式

原文:https://www.cnblogs.com/UsualMind/p/14984360.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!