问答

Java线程池excute和submit分别在什么时候用,如何选择?

作者:admin 2021-09-08 我要评论

Java线程池excute和submit分别在什么时候用,如何选择? 有没有总结的最贱实践经验? ### 这种问题不是可以百度到吗.... submit有返回值. execute没返回值 拿到...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

Java线程池excute和submit分别在什么时候用,如何选择?
有没有总结的最贱实践经验?

###

这种问题不是可以百度到吗....
submit有返回值. execute没返回值
拿到返回结果后可以自己做一些回调处理.

###

ThreadPoolExecutor为例分析
AbstractExecutorService#submit(java.lang.Runnable, T)
AbstractExecutorService#submit(java.lang.Runnable)
AbstractExecutorService#submit(java.util.concurrent.Callable<T>)
这3个重载函数,返回值是Future<T>类型而ThreadPoolExecutor#execute(Runnable)返回值为void,在submit方法里面也调用了execute方法都是用来执行任务,区别submit返回Future可以对任务状态判断、等待、取消和返回结果,而execute是不能通过返回值来判断任务执行完成的状态。如何选择需要看业务场景。

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • Java线程池excute和submit分别在什么时

    Java线程池excute和submit分别在什么时

  • navicat导入导出MySQL数据库文件报错问

    navicat导入导出MySQL数据库文件报错问

  • string与month类型的转换

    string与month类型的转换

  • 在group by时怎么去重统计

    在group by时怎么去重统计

腾讯云代理商
海外云服务器