アプリがサーバーを介して読み込まれるときにインスタンス化する MyThread オブジェクトがあり、それをデーモン スレッドとしてマークしてから呼び出しますstart()
。スレッドは、アプリケーションがアクティブである限り、キューからの情報を待ちます。私の問題/質問は次のとおりです。現在、MyThread は Thread を Daemon としてマークしているため、Thread を拡張しています。だから私が尋ねたかったのは、MyThread が Thread を拡張する代わりに Runnable を実装するかどうか (そしてもちろん名前が変更されるかどうか) でありnewSingleThreadScheduledExecutor()
、どのように、何を、またはどこで、何かを Daemon としてマークするかを使用します。マルチスレッド環境のいくつかの部分は私にとって非常に新しいものであるため、用語を混乱させていないことを願っています。
ありがとう
更新: 私のアプリで参照しているモジュールは、実際にはこの種のスレッドがいくつかある Web アプリであり、それらに共通しているのは、ServletContext
さまざまな理由ですべてがメンバーとして含まれていることです。現在、私はこれを memebr として拡張Thread
しWebThread
ており、ServletContext
すべてのサブクラスがこれを利用できます。Executor と ThreadFactory を使用して Runnable パラダイムに切り替える場合、基本的には、WebRunnable
実装Runnable
とをServletContext
パブリック メンバーとして持つ醜いハイブリッドが必要であり、ThreadFactory
実装newThread(WebRunnable arg0)
に加えて実装が必要newThread(Runnable arg0)
です。何が一番いいのかわからない。ありがとう