gpt4 book ai didi

java - 当前线程结束后启动线程

转载 作者:行者123 更新时间:2023-12-01 09:58:00 26 4
gpt4 key购买 nike

我有一个 Java servlet,它启动一个冗长的任务,该任务可以在发送响应后在后台执行。我可以从日志条目中看出,即使启动线程是 servlet 中的最后一件事,框架仍在新线程启动后执行与请求相关的代码。

我正在考虑将当前线程传递给新线程的构造函数(parentThread),保存该引用,并调用parentThread.join()作为run()中的第一个语句。但这看起来很笨拙。

有更好/更优雅的解决方案吗?

最佳答案

通常线程由 Servlet 容器池化/回收,因此等待终止没有什么意义。如果您可以独立于当前请求来完成工作,那么无论如何生成线程应该没有问题。

根据您的生态系统,您应该查看 Spring 执行器服务,甚至用于调度后台任务的 @Asynchronous 抽象。您可能还想查看异步 servlet API。

关于java - 当前线程结束后启动线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37030117/

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