Javaのスレッドとは何ですか

王林
リリース: 2019-12-04 16:03:14
オリジナル
3512 人が閲覧しました

Javaのスレッドとは何ですか

#スレッドとは

スレッドとは、プロセス内の実行プロセスを指します。複数のプロセスを実行できます。 1つのプロセス、スレッド。たとえば、java.exe プロセスでは多くのスレッドを実行できます。スレッドは常にプロセスに属し、プロセス内の複数のスレッドがプロセスのメモリを共有します。

Java では、「スレッド」は 2 つの異なるものを指します:

1. java.lang.Thread クラスのインスタンス;

2. スレッドの実行。

推奨される Java 関連ビデオ チュートリアル:

java ビデオ チュートリアル

java.lang.Thread クラスまたは java.lang.Runnable を使用します。 Interface 新しいスレッドを定義、インスタンス化、開始するコードを作成します。

Thread クラスのインスタンスは、Java の他のオブジェクトと同様、単なるオブジェクトであり、変数とメソッドを持ち、ヒープ上で生きたり消えたりします。

Java では、各スレッドにコール スタックがあり、プログラム内で新しいスレッドが作成されなくても、スレッドはバックグラウンドで実行され続けます。

Java アプリケーションは常に

main() メソッドから実行を開始します。main() メソッドは、メイン スレッドと呼ばれるスレッドで実行されます。

新しいスレッドが作成されると、新しい呼び出しスタックが生成されます。

スレッドは通常、ユーザー スレッドと待機スレッドの 2 つのカテゴリに分類されます。

すべてのユーザー スレッドの実行が終了すると、JVM は自動的にシャットダウンします。ただし、待機スレッドは JVM から独立しているわけではなく、通常はオペレーティング システムまたはユーザーによって作成されます。

Java スレッド: 作成と起動

1. スレッドの定義

1. Java の拡張.lang.スレッドクラス。

このクラスには run() メソッドがあり、その使用法に注意する必要があります:

public void run()
ログイン後にコピー

スレッドが独立した Runnable 実行オブジェクトを使用して構築されている場合は、次の run メソッドを呼び出します。 Runnable オブジェクト; それ以外の場合、メソッドは何もせずに戻ります。

Thread のサブクラスは、このメソッドをオーバーライドする必要があります。

2. java.lang.Runnable インターフェースを実装します。

void run()
ログイン後にコピー

Runnable インターフェイスを実装するオブジェクトを使用してスレッドを作成する場合、スレッドを開始すると、独立して実行されるスレッドでオブジェクトの run メソッドが呼び出されます。

メソッド run の一般的な規約は、任意の必要な操作を実行できるということです。

2. スレッドをインスタンス化する

1. java.lang.Thread クラスを拡張するスレッドの場合は、単に new を使用します。

2. java.lang.Runnable インターフェースを実装するクラスの場合は、Thread コンストラクターを使用します:

Thread(Runnable target)
Thread(Runnable target, String name)
Thread(ThreadGroup group, Runnable target)
Thread(ThreadGroup group, Runnable target, String name)
Thread(ThreadGroup group, Runnable target, String name, long stackSize)
ログイン後にコピー

3. スレッドを開始します #run() や他のメソッドの代わりに、スレッドの Thread オブジェクトで start() メソッドを呼び出します。

start() メソッドを呼び出す前: スレッドは新しい状態にあります。新しい状態とは、Thread オブジェクトは存在するが、実際のスレッドはまだ存在しないことを意味します。

start() メソッドを呼び出した後: 一連の複雑なことが起こりました

新しい実行スレッドを (新しい呼び出しスタックで) 開始します;

スレッドは、 new state 実行可能な状態に移行します;

スレッドが実行の機会を得ると、そのターゲットの run() メソッドが実行されます。

注: Java の run() メソッドには特別なことは何もありません。 main() メソッドと同様に、新しいスレッドが呼び出すことがわかっているのはメソッド名 (およびシグネチャ) だけです。したがって、Runnable または Thread で run メソッドを呼び出すことは正当です。ただし、新しいスレッドは開始されません。

おすすめの関連記事とチュートリアル:

Java のゼロ基本入門

以上がJavaのスレッドとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート