/ / Threads in Java - Java, Multithreading

Threads in Java - Java, Multithreading

Was ist der Unterschied zwischen Threads in Java und nativen Threads?

Antworten:

16 für die Antwort № 1

Java-Threads können auf jede Weise implementiert werden, die der Spezifikation entspricht. Die Spezifikation erfordert keine spezifische Implementierung.

Wirklich alle modernen Desktop- und / oder Server-JVMsImplementiere Java-Threads als native Threads. Das bedeutet, dass es genau einen nativen Thread für jeden Java-Thread gibt und dass das Betriebssystem die gesamte Planung durchführt, wie es beispielsweise für ein C-Programm der Fall ist.

Einige alte JVMs und möglicherweise einige JVMs für GeräteMit begrenzten Ressourcen können Threads so implementiert werden, dass die Anzahl der verwendeten nativen Threads kleiner ist als die Anzahl der laufenden Java-Threads (oder möglicherweise 1). Diese Implementierungen sollen so genannte "grüne Fäden" implementieren. In diesem Fall ist die JVM selbst für das Wechseln und Planen von Aufgaben verantwortlich, im Gegensatz zum Delegieren dieser Aufgabe an das Betriebssystem.


5 für die Antwort № 2

Es hängt von der Implementierung der JVM, vonNatürlich, aber ich denke, sie sind gleich. Es ist, ein Thread in Java wird über einen nativen Thread implementiert. Sie können mit Java-Threads alles mögliche erwarten, was Sie mit nativen Threads können.


0 für die Antwort № 3

Java-Threads und Native-Threads sind völlig unterschiedlich. Nativer Thread ist Teil der zugrunde liegenden Plattform (dem Betriebssystem).

Java-Threads sind eines der Merkmale von JavaSprache zur Unterstützung der Nebenläufigkeit. Die Java-Spezifikation steuert die API und die Funktionsweise von Java-Threads. Letztendlich werden Java-Threads während der Ausführung des Java-Programms nativen Threads zugeordnet. Auch Java-Threads müssen nicht mit nativen Threads eins zu eins zugeordnet werden.


0 für die Antwort № 4

Java-Threads (Thread-Klasse und Runnable-Schnittstelle) sind eine viel übergeordnete API als native Threads in gemeinsam genutzten Speicheranwendungen. Ich empfehle dieses Buch "Java Threads" von Oaks und Wong http://shop.oreilly.com/product/9780596007829.do. Es ist gängige Praxis, die Runnable-Schnittstelle zu implementieren, dies hängt jedoch von Ihrem Codeumfang ab.