#Java の同時実行性とは何ですか?
同時実行性: 一定期間内に複数のタスクを交互に実行することを指します。複数のスレッドが動作している場合、CPU の実行時間をいくつかの時間帯に分割し、各時間帯を各スレッドに割り当てて実行します。 1 つのスレッドのコードが実行されている間、他のスレッドは一時停止されます。
簡単に言うと、CPU は複数のタスクを同時に実行します。
Java の同時実行性はマルチスレッドによって実装されます。 [推奨学習: java コース ]
jvm の世界では、スレッドは仮想マシン内でシリアル化された無関係な並列空間のようなものです。 (もちろん、これはより一般的な説明です。スレッドは相互に対話することができ、必ずしもシリアルである必要はありません。)
マルチスレッドの存在は、CPU を圧迫し、プログラムのパフォーマンスを向上させ、パフォーマンスを向上させることを目的としています。特定の設計要件 複雑さ (現実的な時間を考慮してプログラムを設計する)。
なぜマルチスレッドを使用するのでしょうか?
まず第一に:
コンピュータの底から: スレッドは、プログラム実行、スレッド間の切り替えとスケジューリングの最小単位である軽量プロセスと比較できます。プロセスよりもはるかに少ないです。さらに、マルチコア CPU の時代では、複数のスレッドを同時に実行できるため、スレッド コンテキストの切り替えのオーバーヘッドが軽減されます。
現代のインターネット開発トレンドの観点から: 現在のシステムでは、多くの場合、数百万、さらには数千万の同時実行が必要であり、マルチスレッド同時プログラミングは、同時実行性の高いシステム開発の基礎です。 - スレッド メカニズムにより、システムの同時実行性とパフォーマンスが大幅に向上します。
コンピュータの最下位層をさらに詳しく見てみましょう:
シングルコア時代: シングルコア時代では、マルチスレッドは主に CPU と IO デバイスの総合的な使用率を向上させるために使用されます。
マルチコア時代: マルチコア時代は主に CPU 使用率を改善することを目的としています。
マルチスレッドを使用するとどのような問題が発生する可能性がありますか?
並行プログラミングの目的は、プログラムの実行効率を向上させ、プログラムの実行速度を向上させることですが、並行プログラミングによって必ずしもプログラムの実行速度が向上するとは限りません。ハードウェアやソフトウェア、アイドル状態のリソースによって制限される問題だけでなく、メモリ リーク、コンテキストの切り替え、デッドロックなど、多くの問題が発生する可能性があります。
以上がJavaの同時実行性とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。