Les threads sont souvent utilisés pour améliorer les performances d'une application en permettant l'exécution simultanée de plusieurs tâches. Un thread est une unité d'exécution qu'un système d'exploitation peut planifier. Il comprend un compteur de programme, une pile et un ensemble de registres. Par exemple, un navigateur web peut utiliser un thread pour gérer les entrées utilisateur, un autre pour télécharger le contenu de la page web et un troisième pour afficher ce contenu.
Les threads peuvent également servir à améliorer la réactivité d'une application en permettant d'interrompre une tâche si elle prend trop de temps. Par exemple, un traitement de texte peut utiliser un thread pour la saisie utilisateur et un autre pour la correction orthographique. Si la correction orthographique est trop longue, le thread de saisie utilisateur peut s'exécuter afin que l'utilisateur puisse continuer à écrire.
Comment éviter les tâches longues sur le thread principal ?
La plupart des applications possèdent un thread principal chargé de gérer les événements d'interface utilisateur et autres tâches. Lorsqu'une tâche prend trop de temps, le thread principal peut se bloquer et devenir non réactif. Cela peut se produire lorsqu'une application effectue un calcul long, comme l'encodage d'une vidéo ou le téléchargement d'un fichier volumineux. Cela peut également arriver lorsqu'une application attend une réponse à une requête réseau. Vous avez peut-être déjà rencontré cette recommandation lors du test de votre site web avec l'outil PageSpeed Insights .

Il existe plusieurs façons d'éviter les tâches longues sur le thread principal :
1. Utilisez asynchrones .
2. Déporter le travail vers un thread d'arrière-plan.
3. Utilisez un pool de threads de travail.
4. Utilisez des techniques de programmation réactive.
Les avantages du multithreading
Le multithreading peut vous aider à éviter les tâches longues sur le thread principal de plusieurs manières :
- L'utilisation de plusieurs threads permet de diviser une tâche longue en sous-tâches plus petites, exécutables en parallèle. Cela peut réduire considérablement le temps total nécessaire à la réalisation de la tâche.
- Le multithreading vous permet de mieux contrôler l'utilisation des ressources telles que le processeur et la mémoire par votre programme. En gérant soigneusement vos threads, vous pouvez garantir une utilisation optimale de ces ressources.
- Le multithreading peut vous aider à améliorer la réactivité de votre programme en vous permettant d'effectuer des tâches en arrière-plan pendant que l'utilisateur peut toujours interagir avec le programme.
Comment minimiser le travail du thread principal dans WordPress ?
Dans WordPress, voici comment éviter les longs threads et améliorer le score PageSpeed :
- Supprimez les fichiers JavaScript et CSS inutilisés – Utilisez des plugins comme Asset Cleanup et Perfmatters.
- Minifiez et différez le CSS – Utilisez un plugin de mise en cache tel que WPRocket ou WP Fastest Cache pour effectuer cette opération.
- Réduisez l'impact du code tiers en optimisant les polices et le préchargement .
- Utilisez des constructeurs de pages rapides comme Gutenberg ou Beaver.
Conclusion
Les tâches longues exécutées sur le thread principal peuvent rendre votre application non réactive et, si elles ne sont pas évitées, provoquer des plantages. Vous pouvez prévenir ces tâches longues en utilisant le multithreading et la programmation asynchrone, et ainsi garantir le bon fonctionnement de votre application. Si vous ne savez pas comment mettre en œuvre ces techniques, nous vous recommandons de faire appel à un développeur professionnel pour vous accompagner dans vos premiers pas.
Pour en savoir plus sur les termes liés à la performance, consultez le glossaire de la vitesse des sites web .