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

发布于 2022-09-12 02:24:49 字数 58 浏览 14 评论 0

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

芯好空 2022-09-19 02:24:49

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

鸵鸟症 2022-09-19 02:24:49

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是不能通过返回值来判断任务执行完成的状态。如何选择需要看业务场景。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文