java - 在java中使用javaStreamingContext上下文实现多线程时出现问题

标签 java multithreading apache-spark

当我尝试停止位于单独线程中的 JavaStreamingContext 对象时,我遇到了问题。我使用 taskExecutor 每 5 秒创建一个新线程,并且 JavaStreamingContext 是每个线程的 localthread 变量的一部分。

每当我从 UI 发布休息请求时,我都想停止该特定线程的 javaStreamingContext 对象。我有每个具有 javaStreamingContext 对象的线程的线程名称,在休息方法中对象值显示为 null 。

那么如果我无法从外部线程访问threadlocal变量,那么如何停止javaStreamingContext对象?

我应该使用哪种方法?建议我一个好的方法。

最佳答案

您可以在类中编写一个方法 stopStreamingContext(),该方法每 5 秒创建一次线程。在此方法中,您可以停止流上下文。因此,每当您收到休息请求时,只需使用线程调用 stopStreamingContext() 即可。

关于java - 在java中使用javaStreamingContext上下文实现多线程时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50041689/

相关文章:

python - pyspark 中的主 URL 是什么?

clock_nanosleep 不工作?

python - 如何在 PySpark 中比较两个 LabeledPoint?

apache-spark - 如何均匀分布数据集以避免倾斜连接(和长时间运行的任务)?

java - 如何将音频文件发送到android中的服务器?

c# - 控制 Windows 窗体中多个线程之间的同步

c++ - 具有等待功能的简单线程

java - 令人困惑的 Java 类概念

java - 即使有足够的 Java 内存,也会重复进行 Java 垃圾回收 - 为什么

Java数据库 "insert into"语法错误