Javaでのスレッドとランナブルの違い

Threadクラスは、Java言語によるスレッドの抽象化です。

Runnableは、タスクの抽象化とビジネスロジックの抽象化です

さらに、Threadは、Runnableの拡張であるRunnableインターフェイスを実際に実装します。

Runnableを実装してThreadを継承するよりも優れているのはどれですか?

a。コードの観点からは、Javaは単一の継承しかできませんが、複数回実装できます。Runnableの方が優れています

b。スケーラビリティの観点から:
継承モードでは、スレッドオブジェクトとタスクが緊密に結合されます。
実装モードでは、スレッドオブジェクトとタスクオブジェクトが分離され、結合が低く、スケーラビリティが高くなります。

同じプログラムコードの複数のスレッドが同じリソースを処理するのに適しています。これは、Javaでの単一の継承の制限を回避し、プログラムの堅牢性を高め、コードを複数のスレッドで共有でき、コードとデータが独立しているためです。スレッドプールは、Runnableクラスを実装するスレッドにのみ配置でき、Threadを継承するクラスに直接配置することはできません。
要約:実装の方が優れています。

おすすめ

転載: blog.csdn.net/qq_41489540/article/details/109109699