ホームページ >Java >&#&チュートリアル >Javaでスレッドを使用する方法
Java でスレッドを使用する方法: まずスレッドを作成し、継承された Thread クラスを使用するか、Runnable インターフェイスを実装してスレッドを作成します。スレッドが作成された後、スレッドごとに異なるメソッドを記述します。 call start() スレッドを起動することでスレッドを使用することができます。
スレッド (英語: thread) は、オペレーティング システムが計算スケジュールを実行できる最小単位です。これはプロセスに含まれており、プロセス内の実際の操作単位となります。スレッドとは、プロセス内の単一の順次制御フローを指します。プロセス内で複数のスレッドを同時に実行でき、各スレッドは異なるタスクを並行して実行します。 Unix System V や SunOS では軽量プロセスとも呼ばれますが、軽量プロセスはカーネル スレッドを指し、ユーザー スレッドはスレッドと呼ばれます。
スレッドを使用するには、スレッドを作成する必要があります。次に、スレッドの作成方法を見てみましょう。
スレッド プログラミングを実装するには、主に 2 つの方法があります。1 つは Thread クラスを継承する方法、もう 1 つは Runnable インターフェイスを実装する方法です。
Thread クラスの継承
スレッドの実装方法を学ぶ前に、まず次のように Thread クラスの構造を見てみましょう。 ##上記のソースから コードでは、Thread クラスが Runnable インターフェイスを実装し、それらの間に多態性の関係があることがわかります。
実は、Thread クラスを継承する方法でマルチスレッドを実装する場合の最大の制限は、多重継承をサポートしていないことです。Java 言語の特性は単一ルート継承であるため、多重継承をサポートするために、実装および継承中に Runnable インターフェイスを実装できます。ただし、これら 2 つの方法で作成されたスレッドのプロパティは動作時に同じであり、本質的な違いはありません。
Thread クラスには、次の 2 つの共通の構築メソッドがあります。public class Thread implements Runnable
public Thread(String threadName)
public Thread()
作成するスレッド クラスにすでに親クラスがある場合、Java は親クラスを継承しないため、現時点では Thread クラスを継承できません。は多重継承をサポートしているため、そのような状況に対処するには Runnable インターフェイスを実装する必要があります。
Runnable インターフェイスを実装するための構文形式は次のとおりです。
public class NewThreadName extends Thread { //NewThreadName 类继承自 Thread 类 public void run() { //线程的执行代码在这里 } }
Runnable インターフェイスを実装するプログラムは、Thread オブジェクトを作成し、Runnable オブジェクトを Thread オブジェクトに関連付けます。 Thread クラスには、Runnable に関連する次の 2 つのコンストラクターがあります。
public class thread extends Object implements Runnable
上記 2 つのコンストラクターのいずれかを使用して、Runnable オブジェクトを Thread インスタンスに関連付けます。 Runnable インターフェイスを使用してスレッドを開始する基本的な手順は次のとおりです。
Runnable オブジェクトを作成します。
Runnable オブジェクトをパラメーターとして指定したコンストラクター メソッドを使用して、Thread インスタンスを作成します。
start() メソッドを呼び出してスレッドを開始します。
Runnable インターフェイスを実装してスレッドを作成する場合、開発者はまず Runnable インターフェイスを実装するクラスを作成し、次にこのクラスのオブジェクトをインスタンス化して Runnable オブジェクトを作成する必要があります。次に、対応するコンストラクター メソッドを使用して Thread インスタンスを作成します。最後に、このインスタンスを使用して Thread クラスの start() メソッドを呼び出し、スレッドを開始します (
)以上がJavaでスレッドを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。