Multithreading 从WebApp启动和停止线程

Multithreading 从WebApp启动和停止线程,multithreading,jakarta-ee,Multithreading,Jakarta Ee,我写信是为了了解我是否能够以及如何能够做以下事情 我有一个用于管理的WebApp,我应该在其中添加一个按钮(或类似的东西)来启动和停止Java线程(该线程轮询DB、发送电子邮件等)。 其目的是让用户能够管理该线程的生命周期,决定是否让它保持一段时间的生命周期、永远的生命周期、停止,等等 逻辑是: 如果单击“开始”,线程将运行,如果还没有实例正在运行 如果单击“停止”,则停止该操作 正在运行的实例必须是唯一的,以便不同的用户(组管理员)不会启动多个线程 问题1。这就是应该做的吗? 问题2。我不明白

我写信是为了了解我是否能够以及如何能够做以下事情

我有一个用于管理的WebApp,我应该在其中添加一个按钮(或类似的东西)来启动和停止Java线程(该线程轮询DB、发送电子邮件等)。 其目的是让用户能够管理该线程的生命周期,决定是否让它保持一段时间的生命周期、永远的生命周期、停止,等等

逻辑是:

  • 如果单击“开始”,线程将运行,如果还没有实例正在运行
  • 如果单击“停止”,则停止该操作 正在运行的实例必须是唯一的,以便不同的用户(组管理员)不会启动多个线程

    问题1。这就是应该做的吗?
    问题2。我不明白是否可以检索已运行线程的实例。
    问题3。可以给线程指定一个“名称”吗

    我在谷歌上搜索了一下,但什么也没找到,可能是因为我看起来很糟糕


    非常感谢。

    第一个问题我不能回答,因为它听起来更像是一个陈述;)

    第二个问题是:除非您放弃对线程实例的引用(即通过编写new thread().start();),否则您将能够在任何给定时间调用该线程实例上的方法。如果放弃引用(不应该放弃),则可以尝试在当前线程的线程组中找到它(thread.currentThread().getThreadGroup()


    第三个问题的答案是:是的,你可以命名一个线程threadnamedthread=新线程(“myPetThread”)

    谢谢您的建议。是的,很多编辑。。。这三个问题是相关的;但是,请你只回答问题2好吗?拜伊