ホームページ Java &#&はじめる Javaのスレッドとは何ですか

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

Dec 04, 2019 pm 04:03 PM
java

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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Javaの平方根 Javaの平方根 Aug 30, 2024 pm 04:26 PM

Javaの平方根

Javaの完全数 Javaの完全数 Aug 30, 2024 pm 04:28 PM

Javaの完全数

Java の乱数ジェネレーター Java の乱数ジェネレーター Aug 30, 2024 pm 04:27 PM

Java の乱数ジェネレーター

Javaのアームストロング数 Javaのアームストロング数 Aug 30, 2024 pm 04:26 PM

Javaのアームストロング数

ジャワのウェカ ジャワのウェカ Aug 30, 2024 pm 04:28 PM

ジャワのウェカ

Java Springのインタビューの質問 Java Springのインタビューの質問 Aug 30, 2024 pm 04:29 PM

Java Springのインタビューの質問

Java 8 Stream Foreachから休憩または戻ってきますか? Java 8 Stream Foreachから休憩または戻ってきますか? Feb 07, 2025 pm 12:09 PM

Java 8 Stream Foreachから休憩または戻ってきますか?

Javaのスミス番号 Javaのスミス番号 Aug 30, 2024 pm 04:28 PM

Javaのスミス番号

See all articles