En fait, cette question est liée à cette question : Comment effectuer une notification planifiée et une publication à temps en PHP ?
Dans le passé, les enseignants disaient toujours qu'il ne fallait jamais écrire de boucles sans fin lors de l'écriture de code. C'est le plus gros bug. Ce concept a toujours été profondément ancré dans mon esprit, alors quand je vois toutes sortes de boucles sans fin, je ressens toutes sortes de choses. de mépris et d'enchevêtrement.
Mais j'ai découvert que beaucoup de choses utilisent en réalité des boucles infinies :
php-resque Il y a une boucle infinie à l'intérieur Quand je l'ai vu, j'ai instantanément perdu mes sentiments
Après avoir examiné le principe de fonctionnement du navigateur, la boucle d'événements JS est en fait une boucle infinie, et le code du noyau C++ semble être une boucle infinie
……
Je ne sais pas combien de choses sont dans une boucle sans fin
Est-il vrai que notre ordinateur tourne en boucle sans fin depuis qu'il a été allumé ? Le processeur fonctionne-t-il simplement en boucle sans fin ? S'il vous plaît, aidez-moi à clarifier cela. Je suis tellement confus maintenant. S'il n'y a pas de boucle sans fin, notre code sera mort. Si personne ne visite le site Web, il sera mort. Quels événements/signaux déclenchent des rappels lorsqu'ils surviennent, et comment sont-ils implémentés ? S'agit-il également d'une boucle infinie ?
Peut-être que nous, les humains, sommes dans une boucle sans fin, recevant constamment des informations puis donnant des commentaires. Sinon, si vous m'appelez et que je peux répondre immédiatement, pensez-vous vraiment que c'est vous qui m'avez informé ? dos? drôle! J'ai écouté, d'accord ?
J'espère que Dieu pourra dissiper la confusion, ^_^
Ajouté :
Quand je lisais ces informations, je voyais souvent ces mots :
libevent
libev
PCNTL
EventLoop
timerfd
epoll
kqueue
select
poll
Veuillez demander au maître de clarifier mes doutes. Quelles informations dois-je lire et quels livres dois-je lire "Programmation réseau Linux/UNIX" ?
Merci !
Le travail continu est-il une boucle infinie ? Le système d'exploitation fragmentera le temps d'exécution du processeur et l'attribuera à différents processus. De temps en temps, le système d'exploitation reprendra le contrôle, puis le renverra, et le cycle continue ainsi.
Mais ce cycle n'est pas mort, vous pouvez mettre fin à ce cycle en cliquant sur
Arrêter
.关机
来结束这个循环。是的,Eventloop需要持续的监听,这种监听只能通过这种方式实现,而我们看到的就是
Quel événement/signal déclenche un rappel lorsqu'il survient ? Comment est-il implémenté ? Est-ce également une boucle infinie ?事件发生
=>执行回调
Mais ce n’est pas mort, vous pouvez fermer le navigateur pour mettre fin à ce cycle.
Je pense que les gens ressemblent plus à une machine à états (FSM) qu'à une boucle infinie. Je ne sais pas si le cerveau humain exécute les instructions de manière séquentielle, mais les gens peuvent gérer des choses avec des limites floues, comme conduire, cuisiner, écouter, parler, lire et écrire dans différentes langues, etc. Les gens peuvent se retirer d'une certaine pensée à Pensez à autre chose, en d'autres termes, il y a beaucoup de signaux d'interruption, peut-être qu'une boucle infinie n'existe pas, car elle peut être interdite à tout moment.
Une phrase dans "Ruby Metaprogramming" est très bonne, et je pense qu'il convient de la mettre ici
Je pense qu'il en va de même pour les boucles infinies. Son existence est raisonnable. Cela dépend simplement de la façon dont vous l'utilisez. Lorsqu'il n'y a pas de meilleure solution, il est important de résoudre le problème. le code L'élégance est tout aussi importante. Il n'y a pas de boucle infinie, il n'y a toujours qu'une boucle.
Boucle infinie != Boucle infinie != Boucle vide
La boucle infinie est un bug et provoquera un blocage
Boucle infinie, telle que : boucle d'événement
Boucle vide, telle que : attente de rotation
En fait on peut se suicider pour sortir du cycleN'expliquez pas
Ne réfléchissez pas de manière extravagante, c'est un comportement très bourgeois de parler de philosophie sur toutes les bêtises
Ne devenez pas un philosophe populaire
Avez-vous déjà écrit du code pour un microcontrôleur ?
C'est tout(1)
Sortie par panne de courant ou interruption
Et chien de garde (chien de garde)
Vous pouvez considérer le système d'exploitation comme une boucle infinie
Cette question est trop grande et difficile à expliquer
Mais lorsque vous apprenez la programmation, vous devriez essayer d'éviter les boucles infinies inutiles. Il est préférable que la procédure ait un début et une fin et que la pensée soit claire.
Boucle Infinie Il vaut mieux dire que la méta-boucle a un début et une fin comme les autres boucles, mais les autres boucles sont une section de la méta-boucle, et elles disparaissent après les avoir traversées après l'infini. la boucle est partie, elle revient au point d'origine.