jdk20-仮想スレッドの簡単な理解

通常のネジ

  1. JDK では通常のスレッドとオペレーティング システムのスレッドの間に 1 対 1 の関係があり、マッピング関係があります。
  2. オペレーティング システムによるスケジューリングでは、スレッドが多すぎるとオペレーティング システムによるスケジューリングが頻繁に発生し、スレッド コンテキストの切り替えが頻繁に行われ、システム パフォーマンスが低下します。
  3. スレッドが多いほど、使用するメモリも多くなります。
  4. プロセスによって作成できるスレッドは限られており、ボトルネックが発生します。
    通常のスレッドはプラットフォーム スレッドとも呼ばれます。
    ここに画像の説明を挿入

仮想スレッド (仮想スレッド)

仮想スレッドは JDK によってスケジュールされ、JDK の各プラットフォーム スレッドは異なる仮想スレッドを実行できます。1
つの仮想スレッドは複数のプラットフォーム スレッドで異なる期間に実行できます。1 つのプラットフォーム スレッドは複数の
仮想スレッドを異なる期間に実行できます。
プラットフォーム スレッドは次のことができます。同時に実行できる仮想スレッドは 1 つだけであり、
大量のメモリを占有することなく、10 万レベル、100 万レベルなどの大量の仮想スレッドを作成できます。

ここに画像の説明を挿入

オペレーティングシステム関連

  1. jdk のプラットフォーム スレッドとオペレーティング システムのスレッドは 2 つの異なる状態にあります。前者はユーザー状態に属し、後者はカーネル状態に属します。jdk のプラットフォーム スレッドとオペレーティング システムのスレッドの間にはマッピング関係がありますが、 OS のスレッド、オペレーティング システムによってスレッドがスケジュールされた後、カーネル状態からユーザー状態に実行する必要があり、JDK が多数のプラットフォーム スレッドを作成する場合、この状態切り替えプロセスには時間がかかります。

  2. jdkは仮想スレッドを実装しており、仮想スレッドはユーザーモードに属するユーザープロセス内にあり、JDKによってスケジュールされるため、状態の切り替えがなくなり、パフォーマンスが向上します。オペレーティング·システム。

おすすめ

転載: blog.csdn.net/yaoyaochengxian/article/details/130615469