20
  • グリーンスレッドとネイティブスレッドの違いは何ですか?
  • なぜグリーンとネイティブと名付けられたのですか?

私はプログラミングの世界が初めてです。私はJavaを学ぶのが大好きです。Javaスレッドのインタビューの質問を調べているときに、これを見つけました。スレッドについて聞いたことがありますが、これらのグリーンでネイティブではありません。グリーンスレッドとネイティブスレッドについてゴーグルしましたが、明確なアイデアが得られませんでした.

どの場合、スレッドはグリーンまたはネイティブと言われていますか?(プログラミングの意味)

4

1 に答える 1

29

グリーンスレッドとネイティブスレッドの違いは何ですか?

グリーン スレッドは、仮想マシンによってスケジュールされます。

ネイティブ スレッドは、運用システムによってスケジュールされます。

なぜグリーンとネイティブと名付けられたのですか?

「緑」は以前の JVM スレッド プロジェクトのコード名です。Java 1.1で VM スケジューリング スレッドを提供したライブラリの名前です。

ネイティブ スレッドは、ネイティブ プラットフォームに属しているため、そのように呼ばれます。

作成されたスレッドがネイティブまたはグリーンであることをどのように知ることができますか?

グリーン スレッドは過去のものです。1.3 以降、JVM はネイティブ スレッドでのみ動作します。

「グリーン スレッド」とは、Java 仮想マシン自体が、1 つのオペレーティング システム プロセス内ですべての Java スレッドを作成、管理、およびコンテキスト スイッチするモデルを指します。オペレーティング システムのスレッド ライブラリは使用されません。

「ネイティブ スレッド」とは、Java 仮想マシンがオペレーティング システムのスレッド ライブラリ (UnixWare では libthread という名前) を使用して Java スレッドを作成および管理し、各 Java スレッドが 1 つのスレッド ライブラリ スレッドにマップされる を指します。

于 2013-03-07T09:46:30.090 に答える