通常のネジ
- JDK では通常のスレッドとオペレーティング システムのスレッドの間に 1 対 1 の関係があり、マッピング関係があります。
- オペレーティング システムによるスケジューリングでは、スレッドが多すぎるとオペレーティング システムによるスケジューリングが頻繁に発生し、スレッド コンテキストの切り替えが頻繁に行われ、システム パフォーマンスが低下します。
- スレッドが多いほど、使用するメモリも多くなります。
- プロセスによって作成できるスレッドは限られており、ボトルネックが発生します。
通常のスレッドはプラットフォーム スレッドとも呼ばれます。
仮想スレッド (仮想スレッド)
仮想スレッドは JDK によってスケジュールされ、JDK の各プラットフォーム スレッドは異なる仮想スレッドを実行できます。1
つの仮想スレッドは複数のプラットフォーム スレッドで異なる期間に実行できます。1 つのプラットフォーム スレッドは複数の
仮想スレッドを異なる期間に実行できます。
プラットフォーム スレッドは次のことができます。同時に実行できる仮想スレッドは 1 つだけであり、
大量のメモリを占有することなく、10 万レベル、100 万レベルなどの大量の仮想スレッドを作成できます。
オペレーティングシステム関連
-
jdk のプラットフォーム スレッドとオペレーティング システムのスレッドは 2 つの異なる状態にあります。前者はユーザー状態に属し、後者はカーネル状態に属します。jdk のプラットフォーム スレッドとオペレーティング システムのスレッドの間にはマッピング関係がありますが、 OS のスレッド、オペレーティング システムによってスレッドがスケジュールされた後、カーネル状態からユーザー状態に実行する必要があり、JDK が多数のプラットフォーム スレッドを作成する場合、この状態切り替えプロセスには時間がかかります。
-
jdkは仮想スレッドを実装しており、仮想スレッドはユーザーモードに属するユーザープロセス内にあり、JDKによってスケジュールされるため、状態の切り替えがなくなり、パフォーマンスが向上します。オペレーティング·システム。