Comment setTimeout dans Javascript fonctionne au niveau bas? Existe-t-il un réveil matériel? Ou l'interprète (à travers le système) demande simplement périodiquement quelle heure est maintenant?Comment fonctionne setTimeout
Répondre
Tout ce qui est spécifié est les effets au niveau du langage. Il n'y a aucune exigence que cela fonctionne d'une manière spécifique à un niveau bas. Cela nécessiterait une politique intrusive sur les fonctions qui doivent exister dans la langue de votre choix avant de pouvoir créer un interpréteur Javascript. En règle générale, la plupart des systèmes d'exploitation ont un temporisateur système qui exécute X fois par seconde, et un interpréteur mettra en place un temporisateur pour déclencher un événement ou envoyer un signal après tant de ticks, ou exécuter un thread séparé qui dort jusqu'à il est temps de traiter un timeout. À ce moment-là, l'interpréteur va configurer les choses de sorte que le gestionnaire d'événements soit la prochaine chose à exécuter. Mais vous ne devez pas compter sur un comportement particulier, car il s'agit d'un détail d'implémentation (et peut échouer de manière spectaculaire si vous n'exécutez pas votre code dans un navigateur pour lequel vous avez développé).
- 1. javascript setTimeOut - ne fonctionne pas sur setTimeout imbriqué
- 2. setTimeout ne fonctionne pas Oracle Apex
- 3. setTimeout ne fonctionne pas avec jquery
- 4. JS settimeout ne fonctionne pas dans IE8 ...
- 5. setTimeout ne fonctionne pas avec window.location?
- 6. Javascript setTimeout
- 7. setTimeout Problème
- 8. comment settimeout dans flex 4?
- 9. La fonction setTimeout de Javascript ne fonctionne pas
- 10. jQuery text() ne fonctionne pas avant un setTimeout?
- 11. Fonction La variable passée à setTimeout ne fonctionne pas?
- 12. jQuery pourquoi $ (this) ne fonctionne pas dans une méthode setTimeout?
- 13. setTimeout ne fonctionne pas, ai-je oublié quelque chose ici?
- 14. Javascript settimeout
- 15. setTimeout bloque la boucle
- 16. setTimeout() pas d'exécution
- 17. setTimeout avec Jquery
- 18. setTimeout intérieur .each $()
- 19. Problème d'étendue avec SetTimeOut
- 20. settimeout on hover
- 21. fonction jquery après setTimeout
- 22. setTimeout dans Firefox
- 23. setTimeout en javascript question
- 24. problème avec setTimeout
- 25. clearTimeout sur plusieurs setTimeout
- 26. Comment mettre en pause un appel setTimeout?
- 27. Comment trouver le temps restant d'un setTimeout()
- 28. Utilisation setTimeout Questions
- 29. Problème Javascript Settimeout
- 30. flash 8 + problème setTimeout
ok, mais comment les minuteurs fonctionnent dans le système d'exploitation? Comment le système d'exploitation sait-il quand faire la prochaine minuterie? Comment l'OS sait-il quand déclencher l'événement? Ma question est générale et pas vraiment liée à une langue particulière. La question est plus sur l'architecture du processeur, je pense. – Dan
La plupart des machines ont un mécanisme pour interrompre le processeur X fois par seconde. Le système d'exploitation met les choses en place pour répondre à ces interruptions et incrémenter un compteur, et vérifie généralement s'il y a un processus/thread qui attendait que le compteur atteigne une valeur donnée (et le redémarre si c'est le cas). Pour que cela ait plus de sens, vous devez comprendre les interruptions matérielles. – cHao
Merci, les choses sont devenues plus claires pour moi. – Dan