「高同時実行性とマルチスレッド」は常に一緒に言及され、この 2 つが同等であるかのような印象を与えますが、実際には高同時実行性 ≠ マルチ-threading
マルチスレッド(推奨学習: Web フロントエンド ビデオ チュートリアル)
マルチスレッドとはJava の機能の 1 つである CPU はマルチコアおよびマルチスレッドであり、複数のタスクを同時に実行できます。JVM の実行効率を向上させるために、Java はデータ処理効率を高めるためにこのマルチスレッド機構を提供します。 。 マルチスレッドは CPU に対応し、高同時実行性はアクセス要求に対応します。単一のスレッドを使用してすべてのアクセス要求を処理することも、複数のスレッドを使用してアクセス要求を同時に処理することもできます。
過去のシングル CPU の時代では、単一のタスクは、ある時点で 1 つのプログラムしか実行できませんでした。その後、コンピューターが同時に複数のタスクやプロセスを並行して実行できるマルチタスク段階に発展しました。
本当の意味での「同じ時点」ではありませんが、複数のタスクまたはプロセスが CPU を共有し、複数のタスク間での CPU の実行切り替えを完了するのはオペレーティング システムに任されています。そのため、各タスクは特定のタイム スライス内で実行される可能性があります。
その後、マルチスレッド技術が開発され、プログラム内で複数のスレッドを並行して実行できるようになりました。スレッドの実行は、CPU がプログラムを実行すると考えることができます。プログラムがマルチスレッドで実行されると、複数の CPU がプログラムを同時に実行しているように見えます。
つまり、マルチスレッドは次のように理解できます。マルチスレッドは、高い同時実行性を処理するためのプログラミング手法です。つまり、同時実行性はマルチスレッドで実装する必要があります。
高い同時実行性
高い同時実行性は、JAVA に限定されたものではありません。より良いインターネット サービスを提供するために提案された、言語に依存しない広範な概念です。
典型的なシナリオ: 12306 の鉄道切符の入手、Tmall ダブル イレブン フラッシュ セール イベントなど。この状況が発生すると、システムはこの期間中にリソースの要求、データベース操作などの多数の操作を実行することになります。高い同時実行性が適切に処理されないと、ユーザー エクスペリエンスが低下する (リクエストの応答時間が長すぎる) だけでなく、システムのダウンタイムが発生する可能性があり、深刻な場合には、OOM 例外が発生してシステムの動作が停止することもあります。
システムを高い同時実行性に適応できるようにするには、ハードウェア、ネットワーク、システム アーキテクチャ、開発言語の選択、データ構造の使用など、あらゆる側面からシステムを最適化する必要があります。 、アルゴリズムの最適化、データベースの最適化など...マルチスレッドは解決策の 1 つにすぎません。
以上がマルチスレッドの同時実行の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。