aboutsummaryrefslogtreecommitdiff
path: root/files/fr/glossary/main_thread/index.html
blob: 7ec0578574c85ec495e5d68b297762bd69626383 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
---
title: Fil d'exécution principal
slug: Glossary/Main_thread
translation_of: Glossary/Main_thread
---
<p>Le <strong>fil d'exécution principal</strong> (<i lang="en">Main Thread</i> en anglais) correspond à l'étape où le navigateur traite les évènements et la peinture demandée par l'internaute. Par défaut, le navigateur utilise un fil d'exécution unique pour lancer tout le JavaScript de la page, ainsi que pour créer la mise en page, le <a href="/fr/docs/Glossary/Reflow"><i lang="en">reflow</i></a>, et la <a href="/fr/docs/Web/JavaScript/Memory_Management">gestion de la mémoire</a>. Cela signifie que les fonctions JavaScript exécutées sur le long terme peuvent bloquer le fil d'exécution, ce qui conduit à un affichage peu réactif et donc a une mauvaise expérience utilisateur.</p>

<p>À moins d'utiliser volontairement un <a href="/fr/docs/Web/API/Web_Workers_API/Using_web_workers"><i lang="en">web worker</i></a> tel qu'un <a href="/fr/docs/Web/API/Service_Worker_API/Using_Service_Workers"><i lang="en">service worker</i></a>, JavaScript se lance sur le fil d'exécution principal. Il est donc courant de voir des scripts retarder le traitement des évènements et de la peinture de la page. Moins il y a de travail à réaliser sur le fil d'exécution principal, mieux ce fil pourra réagir aux évènements générés par l'internaute, et plus la page apparaitra comme étant réactive pour les internautes.</p>

<h2 id="voir_aussi">Voir aussi</h2>

<ul>
  <li><a href="/fr/docs/Learn/JavaScript/Asynchronous">JavaScript asynchrone</a></li>
  <li><a href="/fr/docs/Web/API/Web_Workers_API">API Web worker</a></li>
  <li><a href="/fr/docs/Web/API/Service_Worker_API">API Service worker</a></li>
  <li><a href="/fr/docs/Glossary/Thread">Fil d'exécution (entrée du glossaire)</a></li>
</ul>