gpt4 book ai didi

playframework - Play 框架和线程池

转载 作者:行者123 更新时间:2023-12-04 06:36:07 26 4
gpt4 key购买 nike

Play 框架向我的应用程序公开的线程数是否有限制? Play 应用程序中的线程大小如此珍贵吗?如果我在应用程序中使用自己创建的线程池而不使用 Play 提供的线程池会怎样。这是推荐的吗?任何人都可以了解 Play 如何处理线程吗?

最佳答案

Play 应用程序中的线程限制基本上必须由分配给 VM 的最大内存决定。每个线程都会消耗相当多的内存,因为它们有自己的堆栈。从本质上讲,可能的最大线程数取决于您将传递给 JVM 的参数以及计算机上的总 RAM 等。

您应该让 Play 为您管理线程。配置文档位于 here 。 Play 设计的一部分是尽量减少您需要的线程数,因此除非您进行大量阻塞调用,否则您不需要接触它。

Play 使用 Akka 来处理线程。内部actor系统的配置可以在 here 中找到。其中最有趣的部分是 parallelism-factorparallelism-max 。如果我们看看 Akka 的 reference configuration 评论很好:

# The parallelism factor is used to determine thread pool size using the
# following formula: ceil(available processors * factor). Resulting size
# is then bounded by the parallelism-min and parallelism-max values.
parallelism-factor = 3.0

# Max number of threads to cap factor-based parallelism number to
parallelism-max = 64

Play 的 parallelism-factor 默认设置为 1,基于引用配置。这意味着默认情况下,Play 将拥有一个等于可用处理器数量的线程池,最多为 24。

关于playframework - Play 框架和线程池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30534768/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com