加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java – Executors有什么好处?

发布时间:2020-12-15 04:52:52 所属栏目:Java 来源:网络整理
导读:在没有 Java Executors的生活中,必须为每个Runnable任务创建新线程.创建新线程需要线程开销(创建和拆除),这增加了复杂性并浪费了非Executor程序的时间. 参考代码: 没有Java执行器 – new Thread (aRunnableObject).start (); 使用Java Executor – Executor
在没有 Java Executors的生活中,必须为每个Runnable任务创建新线程.创建新线程需要线程开销(创建和拆除),这增加了复杂性并浪费了非Executor程序的时间.

参考代码:

没有Java执行器 –

new Thread (aRunnableObject).start ();

使用Java Executor –

Executor executor = some Executor factory method;
exector.execute (aRunnable);

底线是Executors抽象出如何管理线程的低级细节.

真的吗?

谢谢.

解决方法

Bottom line is that Executors abstract the low-level details of how to manage threads. Is that true?

是.

它们处理诸如创建线程对象,维护线程池,控制正在运行的线程数以及优雅/更少正常关闭等问题.手工完成这些事情并非易事.

编辑

这样做可能会或可能不会有性能影响……与完全根据应用程序的精确需求进行调整的自定义实现相比.但机会是:

>您的自定义实施将无法完美调整,并且
>无论如何,性能差异不会很大.

此外,如果存在需要解决的问题,Executor支持类允许您简单地调整各种参数(例如线程池大小).我没有看到使用Executors,无论是哪种方式,垃圾收集开销都会受到严重影响.

作为一般规则,您应该专注于简单而健壮地编写应用程序(例如,使用高级并发支持类),并且只在以下情况下担心性能:

>您的应用程序运行“太慢”,并且>分析工具告诉您在特定区域遇到问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读