#1. リフレクション メカニズムのアプリケーション シナリオ #(関連チュートリアルの推奨事項:
Java インタビューの質問マルチスレッドとは、ソフトウェアやハードウェアから複数のスレッドの同時実行を実現する技術のことです。プログラムにおいて、このように独立して動作するプログラムの断片を「スレッド」と呼び、これを利用してプログラミングする概念を「マルチスレッド」と呼びます。
マルチスレッド機能を備えたコンピューターは、ハードウェアのサポートにより複数のスレッドを同時に実行できるため、全体的な処理パフォーマンスが向上します。
#メインスレッドは、作成処理で最初に生成されるスレッドであり、main 関数に対応するスレッドです。
(推奨学習:
java 入門プログラム 3. マルチスレッドの利点について教えてください。#1. マルチスレッドの利点
新しいスレッドを作成するコストは、新しいプロセスを作成するよりもはるかに小さくなります#遅い IO 操作が終了するのを待った後、プログラムは他のコンピューティング タスクを実行できます
コンピューティング (CPU) 集中型アプリケーション。マルチプロセッサ システムで実行するために、計算は複数のスレッドに分割され、
IO 集中型を実装します。アプリケーションでは、パフォーマンスを向上させるために IO 操作が重複し、スレッドが別の IO 操作を待機することがあります。
2. マルチスレッドの欠点
パフォーマンスの損失 (コンピューティング集約型のスレッドが外部イベントによってブロックされることはほとんどなく、他のスレッドと通信できなくなります)スレッドは同じプロセッサを共有します。計算負荷の高いスレッドの数が使用可能なプロセッサよりも多い場合、パフォーマンスが大幅に低下する可能性があります。ここでのパフォーマンスの低下とは、追加の同期とスケジューリングのオーバーヘッドを指します。使用可能な 2 つのリソースは変更されません。)
堅牢性が低下します (スレッド間の保護が欠如しています。マルチスレッド プログラムでは、時間割り当てのわずかな違いや、誤ったプログラムの共有により、悪影響が生じる可能性があります)。
アクセス制御の欠如 (プロセスがアクセス制御の基本的な粒度であるため、スレッド内で特定の OS 関数を呼び出すと、
プログラミングの難易度の上昇 (マルチスレッド プログラムの作成とデバッグは、シングルスレッド プログラムよりもはるかに困難です。)
1. スケジューリングプロセスは、オペレーティング システムがリソースを割り当てるための基本単位です。スレッドは CPU スケジューリングの基本単位です。
2. 同時実行性
スレッドの導入後は、プロセスを同時に実行できるだけでなく、プロセス内の複数のスレッドを同時に実行することもでき、プロセス内のすべてのプロセスを 1 つ実行することもできます。同時に。
同様に、異なるプロセスのスレッドを同時に実行することもできます。これにより、OS の同時実行性が向上し、リソース使用率とシステム スループットが向上します。
3. リソースの所有
プロセスはリソースを所有でき、システムがリソースを所有するための基本単位です。スレッド自体はシステム リソースを所有せず、独立した動作を保証できる一部のリソースのみを所有し、このリソースは各スレッドにとってプライベートです。
たとえば、スレッド ID、レジスタのセット、スタック、errno、シグナル マスク ワード (プロセス内に保留中のシグナルは 1 つだけありますが、どのスレッドでもこのシグナルを処理できます)、スケジューリング優先度などです。
4. 独立性
同じプロセス内のスレッドの独立性は、別のプロセス内のスレッドの独立性よりもはるかに低くなります。
5. システム オーバーヘッド
スレッド切り替えのコストはプロセス切り替えのコストよりも低くなります。
6. マルチプロセッサ システムのサポート
従来のプロセス、つまりシングルスレッド プロセスの場合、プロセッサーの数に関係なく、プロセスは同じプロセッサー上でのみ実行できますが、マルチスレッド プロセスの場合は、プロセス内の複数のスレッドを複数のプロセッサーに割り当てることができます。そのため、同時実行によりプロセスの完了が高速化されます。
(ビデオ チュートリアルの推奨:
java ビデオ チュートリアル)
優先スレッドを頻繁に作成および破棄する必要があります。
大量の計算を必要とするスレッドを優先します。
スレッドは強い相関関係に使用され、プロセスは弱い相関関係に使用されます。
マルチマシン分散にはプロセスを使用し、マルチコア分散にはスレッドを使用するように拡張できます。
以上がJava の古典的な面接質問集 (4)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。