Les Threads Java vs OS Threads

On dirait que j'ai foiré avec les Threads Java/OS Threads et langage Interprété.

Avant de commencer, je ne comprends que le Fils Verts sont les Threads Java où le filetage est pris en charge par la JVM et l'ensemble du processus Java ne fonctionne que comme un OS unique Thread. Ainsi, sur un multi-processeur, système, il est inutile.

Maintenant mes questions est. J'ai deux Fils A et B. Chacune avec 100 de milliers de lignes de code indépendant. - Je exécuter ces threads dans mon Programme Java sur un système multiprocesseur. Chaque Thread va être donné un système d'exploitation natif Thread à EXÉCUTER qui peut s'exécuter sur un PROCESSEUR différent, mais depuis Java est interprété ces fils aura besoin pour interagir avec la JVM encore et encore pour convertir des octets de code pour les instructions machine ? Suis-je le droit ? Si oui, que pour les petits programmes Java Threads ne sera pas un gros avantage ?

Une fois le Hotspot compile à la fois ces chemins d'exécution à la fois peut être aussi bon en tant que natif des Threads ? Suis-je le droit ?

[EDIT] : Une autre question peut être, supposons que vous disposez d'un seul Fil de Java, dont le code n'est pas JIT compilé, vous devez créer ce Thread et start() il ? Comment fonctionne le système d'exploitation Fil et de la JVM interagissent pour exécuter le Bytecode ?

grâce

InformationsquelleAutor Geek | 2010-12-13