编程知识 cdmana.com

Analyse approfondie du principe sous - jacent de runloop par iOS

Un.、Runloop Introduction

① Qu'est - ce que Runloop ?
  • RunLoop Est une mise en œuvre du mécanisme de réception et de distribution des événements,Fait partie du cadre de base lié au fil,Un RunLoop Est un cycle de gestion d'événements,Utilisé pour programmer le travail en continu et traiter les événements d'entrée.
  • Runloop Plus qu'un cycle de fonctionnement(do-while Cycle),C'est aussi un objet qui fournit une fonction d'entrée,Mode de traitement du mécanisme de message,La boucle d'exécution reçoit des événements de deux types différents de sources.
  • La source d'entrée fournit des événements asynchrones,Habituellement un message d'un autre thread ou d'une application différente.La source de minuterie fournit des événements de synchronisation,Se produit à un moment prédéterminé ou à un intervalle de répétition.
  • Les deux types de sources utilisent des routines de gestionnaire spécifiques à l'application pour gérer les événements.En plus de traiter les sources d'entrée,Runloop Il génère également des informations sur Runloop Notification des actes.
  • L'observateur de boucle d'exécution enregistré peut recevoir ces notifications et les utiliser pour effectuer d'autres traitements sur le fil.
② Runloop Action
  • Quand un iOS APP Lorsque le thread principal démarre RunLoop Elle est aussi ouverte,Si vous ne tuez pas APP Et ça va continuer,C'est parce que RunLoop La boucle est toujours ouverte pour s'assurer que le fil principal n'est pas détruit,Et ça aussi. RunLoop Un des effets de:Assurez - vous que le thread ne sort pas,Maintenir le fonctionnement continu du programme.
  • RunLoop Écouter les événements pendant la boucle, Lorsque le thread actuel a une tâche , Réveillez - vous lorsque le thread actuel exécute la tâche , Une fois la tâche terminée , Mettre le thread actuel en hibernation . Bien sûr, la dormance ici est différente du cycle de la mort que nous avons écrit while(1), Il prend à peine les ressources du système pendant l'hibernation , C'est le noyau du système d'exploitation qui est responsable de l'implémentation .
  • Traitement App Divers événements dans(Touch、Minuterie、perfor

版权声明
本文为[ForeverWJ]所创,转载请带上原文链接,感谢
https://cdmana.com/2021/10/20211013211741701y.html

Scroll to Top