我有一個MyThread對象,當我的應用程序通過服務器加載時實例化,我將其標記爲守護程序線程,然後調用start()
。只要應用程序處於活動狀態,線程就會等待來自隊列的信息。 我的問題是這樣的:目前MyThread正在擴展Thread,因爲我將它標記爲守護進程,並且閱讀了如何更易於實現Runnable並使用Executors。所以我想問的是,如果MyThread將實現Runnable而不是擴展Thread(當然將被重命名),我將使用newSingleThreadScheduledExecutor()
如何,什麼或者在哪裏標記爲Daemon。 我希望我沒有弄得一團糟,請原諒我,因爲多線程環境的某些部分對我來說是非常新的。Java中的執行程序和守護進程
感謝 以太
更新: 我指的是在我的應用程序的模塊是一個網絡應用程序,它有幾個線程實際上這種和他們做了什麼的共同點是,他們都在由於各種原因,ServletContext
作爲成員。目前,我將Thread
擴展爲WebThread
,其中ServletContext
作爲memebr,所有子類都可以使用它。如果我切換到與執行者了Runnable範式和的ThreadFactory比基本上我需要的WebRunnable
它實現Runnable
並具有ServletContext
作爲公衆成員的醜陋混合動力車和具有除了newThread(Runnable arg0)
我ThreadFactory
實施newThread(WebRunnable arg0)
。 我不知道什麼是最好的。 謝謝
爲了技術的正確性 - 但在這種情況下使用Executor有沒有什麼優勢?對我來說似乎有點「爲複雜而複雜」(但也許我錯了......) – hjhill
也許不是。但是我寫了一個系統,在這之前使用單線程執行程序開始,並在稍後階段插入不同的執行程序。 –
@布賴恩 - 我有點在想希爾希爾在想什麼。我有一個這樣的線程,我不知道是否值得使用ThreadFactory – Ittai