gpt4 book ai didi

java - 重构多线程异步应用程序以防止线程过多

转载 作者:行者123 更新时间:2023-12-01 17:05:51 25 4
gpt4 key购买 nike

我正在尝试重构多线程异步应用程序。我有一个类,每次应用程序启动特定事件(它们是从外部设备生成)时,它都会启动一个新线程并注册该事件。之后,在另一个类中,我启动一个新线程来处理该事件,然后关闭这两个线程。我想重构它,因为如果引发 100 个不同的事件,我将有 100 个不同的线程(并且应用程序将在嵌入式 PC 中运行,如树莓派或 marsboard)。所以我找到了两种方法来尝试解决这个问题:

  • 使用线程池,但它有限制,因此我会丢失在池线程达到限制后引发的事件
  • 使用队列:我将在同步单线程中转换应用程序,但最多只运行一个线程。

还有其他方法可以解决这个问题吗?

最佳答案

合并两个解决方案。

使用线程池,如果没有空闲线程,则开始对请求进行排队。

这就是应用服务器解决这个问题的方式。

关于java - 重构多线程异步应用程序以防止线程过多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25621814/

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