2013-03-07 4 views
12
  • Was ist der Unterschied zwischen grünen und nativen Threads?
  • Warum wird es als grün und nativ bezeichnet?

Ich bin neu in der Programmierwelt. Ich liebe es, Java zu lernen. während ich die Interviewfragen von Java Threads durchging, fand ich das. Ich habe von Thread gehört, aber nicht diese grün und nativ. Ich goggled über grüne und native Threads, konnte aber keine klare Idee bekommen.Grüne und native Threads in Java

In diesem Fall wird der Faden die grünen oder nativer sein? (I in der Programmierung bedeuten)

+2

Google ist nicht die einzige Antwort: http://en.wikipedia.org/wiki/Green_threads – giorashc

+1

los gehts: http://www.jguru.com/faq/view.jsp?EID=143462 – giorashc

+0

@Gorashc Woher wissen wir, dass der erstellte Thread nativ oder grün ist? – Rachel

Antwort

12

Was ist der Unterschied zwischen grün und nativer Fäden?

Grüne Threads werden von einer virtuellen Maschine geplant.

Native Threads werden von einem Betriebssystem geplant.

Warum wird es als grün und nativ bezeichnet?

"Grün" ist früher JVM Threads Projektcode-Name. Dies ist der Name der Bibliothek, die VM-geplante Threads in Java 1.1

lieferte. Native Threads werden so aufgerufen, weil sie zur nativen Plattform gehören.

Woher wissen wir, dass der erstellte Thread nativ oder grün ist?

Grüne Fäden in Vergangenheit, JVMs arbeiten nur mit nativen Threads seit 1,3

"Grüne Themen" bezieht sich auf ein Modell, in dem die Java Virtual Machine selbst erstellt, verwaltet und Kontextwechsel alle Java-Threads innerhalb ein Betriebssystemprozess. Keine Betriebssystem-Thread-Bibliothek wird verwendet.

„native Threads“ bezieht sich auf eine, in der die virtuellen Java-Maschine erstellt und verwaltet Java-Threads der Betriebssystem-Threads-Bibliothek - genannt libthread auf Unixware - und jeder Java-Thread zu einem Threads Bibliothek Thread zugeordnet ist.

+0

klar und schön Erklärung .. Danke zvzdhk Woher wissen wir, dass der erstellte Thread ist nativ oder grün? – Rachel

+0

wunderbare Erklärung zvdh – samash

+0

@Rachel Oracle/OpenJDK/IBM JVM nur native Threads haben. –