グリーンスレッドとネイティブスレッドの違いは何ですか?
グリーン スレッドは、仮想マシンによってスケジュールされます。
ネイティブ スレッドは、運用システムによってスケジュールされます。
なぜグリーンとネイティブと名付けられたのですか?
「緑」は以前の JVM スレッド プロジェクトのコード名です。Java 1.1で VM スケジューリング スレッドを提供したライブラリの名前です。
ネイティブ スレッドは、ネイティブ プラットフォームに属しているため、そのように呼ばれます。
作成されたスレッドがネイティブまたはグリーンであることをどのように知ることができますか?
グリーン スレッドは過去のものです。1.3 以降、JVM はネイティブ スレッドでのみ動作します。
「グリーン スレッド」とは、Java 仮想マシン自体が、1 つのオペレーティング システム プロセス内ですべての Java スレッドを作成、管理、およびコンテキスト スイッチするモデルを指します。オペレーティング システムのスレッド ライブラリは使用されません。
「ネイティブ スレッド」とは、Java 仮想マシンがオペレーティング システムのスレッド ライブラリ (UnixWare では libthread という名前) を使用して Java スレッドを作成および管理し、各 Java スレッドが 1 つのスレッド ライブラリ スレッドにマップされる を指します。