gpt4 book ai didi

multithreading - 如何在 Spring 容器内启动线程

转载 作者:行者123 更新时间:2023-12-03 13:00:09 25 4
gpt4 key购买 nike

请帮助解决问题。我有一个下面的代码这样的线程。

public class A implements Runnable {

public void run() {
while(true) {
//Do something something important
}
}

}

我想以这种方式在spring配置文件中配置该线程,以便当spring容器启动时,线程开始运行。这意味着我必须在类中使用th.start()启动线程,但这将永远不会被使用。该线程应在不实例化容器中的任何bean的情况下启动。它不是计时器任务类型功能。

最佳答案

<bean class="java.lang.Thread" init-method="start">
<constructor-arg index="0">
<bean class="A"/>
</constructor-arg>
</bean>

这将创建并启动一个线程,使该线程成为bean。您可以在容器停止时使用 destroy-method="interrupt"停止线程,但是任何发烧友都需要支持代码。我为此推荐 Guava 的 AbstractExecutionThreadService

关于multithreading - 如何在 Spring 容器内启动线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28813600/

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