javascript - Une boucle infinie peut-elle être utilisée? Ou vivons-nous réellement dans un monde de cycles sans fin ?
高洛峰
高洛峰 2017-05-31 10:34:05
0
6
881

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 :

  1. php-resque Il y a une boucle infinie à l'intérieur Quand je l'ai vu, j'ai instantanément perdu mes sentiments

  2. .
  3. 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 !

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

répondre à tous(6)
迷茫

Est-ce que notre ordinateur est dans une boucle infinie depuis qu'il a été allumé ? Le processeur fonctionne-t-il simplement dans une boucle infinie ?

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 ?

Oui, Eventloop nécessite une surveillance continue. Cette surveillance ne peut être réalisée que de cette manière, et ce que nous voyons est occurrence d'événement => rappel d'exécution C'est naturel. , c'est une abstraction.

Mais ce n’est pas mort, vous pouvez fermer le navigateur pour mettre fin à ce cycle.

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 prévenu ? dos? drôle! J'ai écouté, d'accord ?


Je pense que les gens ressemblent plus à une machine à états (FSM) qu'à une boucle infinie.

Changez l'état en fonction de l'entrée, produisant ainsi la valeur (dialogue humain)

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.

🎜🎜Veuillez me faire savoir quelles informations et quels livres je devrais lire🎜🎜 🎜Que diriez-vous de jeter un œil aux principes et à la mise en œuvre de la composition informatique et des systèmes d'exploitation ? 🎜
PHPzhong

Une phrase dans "Ruby Metaprogramming" est très bonne, et je pense qu'il convient de la mettre ici

Il n'y a pas de métaprogrammation du tout, il n'y a toujours eu que de la programmation.

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.

给我你的怀抱

Pouvons-nous utiliser une boucle infinie ?

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


Ou vivons-nous réellement dans un monde de cycles sans fin ?

En fait on peut se suicider pour sortir du cycle

N'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)

phpcn_u1582

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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal