java - 停止后台执行的线程,然后返回结果

标签 java multithreading

我调用了一个执行后台操作的java文件。由于正在后台执行的线程(在另一个 java 文件中),我无法将结果返回到 jsp 页面。众所周知,return 和 system.exit(0) 不能同时使用。无论如何,有没有办法停止可见java文件中的线程并返回结果。

最佳答案

更仔细地提出您的问题可能会让您受益匪浅。不存在“线程在另一个 Java 文件中执行”这样的东西,所以不清楚你到底是什么意思。

Java 中没有简单/安全的方法来终止任意线程。通常最简单的方法是使用 ExecutorService ,向其提交您的作业并保留返回的 Future您可以使用该对象稍后获取结果或取消作业执行。如果您愿意,您还可以关闭 ExecutorService 而无需等待作业完成。显然,在这种情况下,您的作业在编写时应考虑到取消,这样就不会产生不良副作用。

关于java - 停止后台执行的线程,然后返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9684021/

相关文章:

c# - 是否会按照严格的时间顺序调用 GTK+ 超时回调?

java - 日志信息未在控制台上打印

java - ReSTLet是否支持将URL解析为带参数的调用方法?

Java:访问枚举(enum)中的常量

java - 如何修复由 : java. lang.UnsupportedOperationException 引起的并发.ExecutionException

multithreading - 多线程能提高性能吗?如何?

c++ - pthreads 中的内存模型规范

java - HDFS 文件观察服务

java - 远程调试 Java 应用程序不显示变量值

ios - NSoperationQueue阻塞主线程