Javaでのスレッドクラスと実行可能インターフェイスの違い
この投稿では、違いを理解します
スレッド
-
クラスです。
-
スレッドの作成に使用できます。
-
「開始」や「実行」など、複数の方法があります。
-
より多くのメモリスペースが必要です。
-
Javaでは多重継承が許可されていないため、クラスがThreadクラスを拡張した後は、他のクラスに拡張することはできません。
-
すべてのスレッドは一意のオブジェクトを作成し、それに関連付けます。
実行可能
-
機能的なインターフェースです。
-
スレッドの作成に使用できます。
-
単一の抽象メソッド「run」があります。
-
必要なメモリスペースが少なくて済みます。
-
クラスが「実行可能な」インターフェースを実装すると、そのクラスは他のクラスに拡張できます。
-
複数のスレッドが同じオブジェクトを共有できます。
-
Javaでのスレッドとランナブルの違い
新しい実行スレッドを作成するには、2つの方法があります。 1つは、クラスをThreadクラスのサブクラスとして宣言することです。このサブクラスは、Threadクラスのrunメソッドをオーバーライドする必要があります。その後、サブクラスのインスタンスを割り当てて開始できます。 スレッドを作成するもう1つの方法は、Runnableインターフェースを実装するクラスを宣言することです。次に、そのクラスはrunメソッドを実装します。次に、クラスのインスタンスを割り当て、スレッドの作成時に引数として渡して、開始することができます。 すべてのスレッドには、識別のための名前があります。複数のスレッドが同じ
-
抽象クラスとインターフェースの違い
抽象クラスは、デフォルトの動作を実装するインスタンスメソッドを持つことができます。インターフェイスは定数とインスタンスメソッドのみを宣言できますが、デフォルトの動作を実装することはできず、すべてのメソッドは暗黙的に抽象化されています。インターフェースにはすべてのパブリックメンバーがあり、実装はありません。