我有一个 MyThread 对象,当我的应用程序通过服务器加载时我会实例化它,我将它标记为守护线程,然后调用start()
它。只要应用程序处于活动状态,该线程就会坐下来等待来自队列的信息。我的问题/问题是:目前 MyThread 正在扩展 Thread,因为我将其标记为守护进程,并且我阅读了有关实现 Runnable 和使用 Executors 的更多信息。所以我想问的是 MyThread 是否会实现 Runnable 而不是扩展 Thread(当然会被重命名),我将使用newSingleThreadScheduledExecutor()
如何、什么或在哪里将某些东西标记为守护进程。我希望我没有把术语弄得一团糟,如果我有的话,请原谅我,因为多线程环境的某些部分对我来说是非常新的。
谢谢伊泰
更新:我在我的应用程序中所指的模块是一个网络应用程序,它实际上有一些此类线程,它们的共同点是ServletContext
由于各种原因它们都作为成员。目前,我将其扩展Thread
为memebr,所有子类都可以使用它。如果我使用 Executor 和 ThreadFactory 切换到 Runnable 范式,那么基本上我需要一个丑陋的混合实现,并且将.作为公共成员,并且除了. 我不确定什么是最好的。谢谢WebThread
ServletContext
WebRunnable
Runnable
ServletContext
ThreadFactory
newThread(WebRunnable arg0)
newThread(Runnable arg0)