Quelle est la différence entre les threads java et les threads natifs?Threads en Java
Répondre
Les threads Java peuvent être implémentés d'une manière conforme à la spécification. La spécification ne nécessite pas une implémentation spécifique.
En effet, toutes les machines virtuelles Java de bureau et/ou de serveur implémentent des threads Java en tant que threads natifs. Cela signifie qu'il y a exactement 1 thread natif pour chaque thread Java et que le système d'exploitation fait toute la planification, comme c'est le cas pour un programme C, par exemple. Certaines vieilles machines virtuelles Java et éventuellement certaines machines virtuelles Java pour les périphériques disposant de ressources limitées peuvent implémenter des threads de telle sorte que le nombre de threads natifs utilisés est inférieur au nombre de threads Java en cours d'exécution (ou 1). Ces implémentations sont dites implémenter des "threads verts". Dans ce cas, la JVM elle-même est responsable de la commutation et de la planification des tâches, par opposition à la délégation de cette tâche au système d'exploitation.
Cela dépend de l'implémentation de la JVM, bien sûr, mais je pense qu'ils sont identiques. C'est, un Thread en Java est implémenté via un thread natif. Vous pouvez vous attendre/faire avec les threads Java tout le genre de choses que vous pouvez avec des threads natifs.
Les threads Java et les threads natifs sont complètement différents. Le thread natif fait partie de la plate-forme sous-jacente (le système d'exploitation).
Les threads Java sont l'une des fonctionnalités du langage Java pour la prise en charge de la simultanéité. La spécification Java contrôle l'API et le fonctionnement des threads Java. En fin de compte, les threads Java seront mappés sur des threads natifs lors de l'exécution du programme Java. Les threads java ne doivent pas non plus être mappés individuellement avec des threads natifs.
Les threads Java (classe Thread et interface exécutable) sont des API de niveau supérieur aux threads natifs des applications partagées en mémoire. J'ai recommandé ce livre "Java Threads" par Oaks et Wong http://shop.oreilly.com/product/9780596007829.do. Il est courant d'implémenter l'interface Runnable, mais cela dépend de la portée de votre code.
- 1. threads en Java
- 2. Méthodes et threads en Java
- 3. Travaux de threads en Java
- 4. occupé threads d'attente en Java
- 5. Threads Java
- 6. Comment arrêter les threads en Java?
- 7. Comment tuer les threads bloqués en Java?
- 8. Clustering utilisant des threads en Java
- 9. Synchronisation de threads en Java, IllegalMonitorStateException
- 10. Comment exécuter différents threads en Java?
- 11. exécution de plusieurs threads en Java
- 12. Java Threads (multithreading)
- 13. Threads in java
- 14. Java threads internes
- 15. Problème de threads Java
- 16. Les threads Java doutent
- 17. Threads Java et MySQL
- 18. Threads Java GUI - SwingWorker
- 19. Les threads Java s'arrêtent soudainement
- 20. RejectedExecutionException dans les threads Java
- 21. Modèle de threads Java Servlets
- 22. Comment exécuter 10 threads à la fois à partir de 100 threads en Java?
- 23. Traiter M calculs lents sur N threads en Java
- 24. Limitation des cycles du processeur d'exécution de threads en Java
- 25. Le threads Java MulticastSocket est-il sécurisé?
- 26. Java: synchronisation des threads sur plusieurs serveurs
- 27. . NET équivalent aux groupes de threads Java?
- 28. Comment lancer plusieurs threads depuis Java EE?
- 29. Java partage une variable entre deux threads
- 30. Fonctionnalité de pool de threads Java
Quelqu'un peut-il me donner une référence pour cela? –
@espertus Code source de référence L'implémentation JVM HotSpot peut être trouvée sur http://openjdk.org –