2010-11-30 8 views

答えて

3
  • 複数の継承がある場合は、インターフェイスのみを使用できるので、1つのクラスを拡張することができます。私はスレッドクラスを拡張することはありませんが、実行可能/呼び出し可能なインターフェイスを実装します。
  • 私はexecutorsを使用してスレッド管理を手伝っています。
+1

可能であれば+1を継承しないでください。 ThreadFactoryでエグゼキュータを使用して、実際に実行するコード(RunnablesとCallables)からスレッドの作成とライフサイクル管理を分離する方がはるかにクリーンです。 –

1

私が知る限り、それは好みの問題です。

私は、サブクラス化アプローチやスレッドがRunnableを実装しているという事実が気に入らないので、私自身の好みはRunnableを渡すことです。 (run()を実装するためのスレッドのサブクラス化は、サブクラス化が表すはずの "is-a"関係を悪用します。スレッド)

+0

スレッドをRunnableとして使用できるという問題のパラダイムについてのコメントは+1です。 –

関連する問題