如何将线程与其他ExecutorService对象一起重用?

本尼迪克特·本茨(BenedictBünz)

是否有可能为我的整个程序提供一个线程池,以便重新使用线程,或者我是否需要使ExecutorService全局/将其传递给使用它的所有对象。

更准确地说,我在程序中运行了多个任务,但是它们执行得不是很频繁。

ScheduledExecutorService executorService = Executors.newScheduledThreadPool(1);

我认为,不必为每个任务始终保持运行一个完整的线程,但是在执行任务时,每次都重新启动线程可能也很昂贵。

除了使线程池成为全局线程之外,还有更好的选择吗?

灰色的

如何将线程与其他ExecutorService对象一起重用?

不可能在不同的ExecutorService线程池中重复使用线程当然,您可以将非常不同类型的Runnable提交给一个公共线程池。

除了使线程池成为全局线程之外,还有更好的选择吗?

我在您的应用程序中没有看到“全局”线程池的问题。当然,有人需要知道何时调用shutdown()它,但这是我看到的唯一问题。如果您有许多不同的类正在提交任务,则它们都可以访问此(或1个)常见的后台线程集。

但是,您可能会发现,不同的任务可能想要使用缓存的线程池,而其他任务则需要固定大小的池,因此仍然需要多个池。

我认为,不必为每个任务一直运行一个完整的线程,但是在执行任务时每次都重新启动线程可能也很昂贵。

通常,除非您分叉成千上万的线程,否则每隔一段时间启动一次线程的相对成本就相对较小。除非您有探查器或其他来源的证据,否则这可能是过早的优化。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将多个R对象与其他数据一起保存到文件中?

来自分类Dev

如何将Promise.all与其他Promisise链接在一起?

来自分类Dev

如何将多项式与其他多项式一起分解?

来自分类Dev

如何将列名与其他参数一起传递

来自分类Dev

如何将flask-migrate与其他declarative_bases一起使用

来自分类Dev

如何将react-redux'useSelector'与其他变量一起使用?

来自分类Dev

如何将DataTables与其他匹配器结合在一起?

来自分类Dev

如何将for_each与其他参数一起使用?

来自分类Dev

如何将 django-oscar 与其他应用程序一起使用?

来自分类Dev

Ajax转C#控制器:如何将对象数组与其他数据一起传递

来自分类Dev

golang:如何将pflag与其他使用flag的软件包一起使用?

来自分类Dev

如何将Fn :: FindInMap中的列表与其他项目组合在一起?

来自分类Dev

如何将按钮的内容与其他XAML页面中的值列表绑定在一起?

来自分类Dev

如何将单选/复选框数据与其他字段一起添加到表单中?

来自分类Dev

如何将 list<object> 绑定到模型并与其他表单数据一起提交?

来自分类Dev

动画与其他对象一起移动

来自分类Dev

如何通过JavaScript将结果与其他文本一起使用

来自分类Dev

我如何将范围滑块值与pst属性相乘,然后与其他字段一起计算,然后显示结果?

来自分类Dev

Oauth2.0:如何将WSO2 API管理器与其他WSO2身份服务器一起使用

来自分类Dev

使用Object.create()时,如何与其他对象键一起引用对象键

来自分类Dev

如何通过 angular 将照片上传到 Web API 并将该照片与其他值一起添加到类中的新对象

来自分类Dev

尝试将Redux表单与功能组件一起重用

来自分类Dev

HttpClient与客户端证书一起重用

来自分类Dev

如何使用Redis将搜索文本与其他条件结合在一起?

来自分类Dev

为可与其他对象一起使用的属性定义宏?

来自分类Dev

与其他字典一起使用时,字典对象不会删除

来自分类Dev

如何将数组与bash中的其他元素连接在一起?

来自分类Dev

如何将 v-for 与 Range 一起使用并使用 push() 添加其他输入

来自分类Dev

将地图与其他参数一起使用-Python

Related 相关文章

  1. 1

    如何将多个R对象与其他数据一起保存到文件中?

  2. 2

    如何将Promise.all与其他Promisise链接在一起?

  3. 3

    如何将多项式与其他多项式一起分解?

  4. 4

    如何将列名与其他参数一起传递

  5. 5

    如何将flask-migrate与其他declarative_bases一起使用

  6. 6

    如何将react-redux'useSelector'与其他变量一起使用?

  7. 7

    如何将DataTables与其他匹配器结合在一起?

  8. 8

    如何将for_each与其他参数一起使用?

  9. 9

    如何将 django-oscar 与其他应用程序一起使用?

  10. 10

    Ajax转C#控制器:如何将对象数组与其他数据一起传递

  11. 11

    golang:如何将pflag与其他使用flag的软件包一起使用?

  12. 12

    如何将Fn :: FindInMap中的列表与其他项目组合在一起?

  13. 13

    如何将按钮的内容与其他XAML页面中的值列表绑定在一起?

  14. 14

    如何将单选/复选框数据与其他字段一起添加到表单中?

  15. 15

    如何将 list<object> 绑定到模型并与其他表单数据一起提交?

  16. 16

    动画与其他对象一起移动

  17. 17

    如何通过JavaScript将结果与其他文本一起使用

  18. 18

    我如何将范围滑块值与pst属性相乘,然后与其他字段一起计算,然后显示结果?

  19. 19

    Oauth2.0:如何将WSO2 API管理器与其他WSO2身份服务器一起使用

  20. 20

    使用Object.create()时,如何与其他对象键一起引用对象键

  21. 21

    如何通过 angular 将照片上传到 Web API 并将该照片与其他值一起添加到类中的新对象

  22. 22

    尝试将Redux表单与功能组件一起重用

  23. 23

    HttpClient与客户端证书一起重用

  24. 24

    如何使用Redis将搜索文本与其他条件结合在一起?

  25. 25

    为可与其他对象一起使用的属性定义宏?

  26. 26

    与其他字典一起使用时,字典对象不会删除

  27. 27

    如何将数组与bash中的其他元素连接在一起?

  28. 28

    如何将 v-for 与 Range 一起使用并使用 push() 添加其他输入

  29. 29

    将地图与其他参数一起使用-Python

热门标签

归档