Thread : définition simple et pratique

Pour comprendre ce qu’est un thread, il est nécessaire de définir ce qu’est un processus. Un processus est un programme en cours d’exécution au sein d’un environnement. Le thread, ou fil d’exécution en français, est donc un de ces processus et il permet d’exécuter des instructions de langage machine au sein du processeur. La spécificité du thread est qu’il laisse la possibilité à deux instances en train d’interpréter le même programme de s’exécuter en simultané au sein du même processeur. Dans le cadre d’utilisation du langage Java, le thread représente la nature dynamique d’une exécution. En effet, en Java, le code principal appelé « Runnable » correspond à la nature statique de l’exécution. Sur un « Runnable » peuvent être rattachés plusieurs threads à la fois. Le thread, c’est donc l’exécution en elle-même. Et pour faire fonctionner un programme en « multi-thread » – on parle alors de programmation concurrente. Dans ce cas, il est nécessaire de garantir le « thread safety » du code pour éviter les cas difficiles de « race conditions » : des bugs récurrents dès lors qu’un code est en exécution simultanée sans « thread-safe ».

Traduction

  • Fil d’exécution
  • Controlling Java threads is an essential skill for applying to this job.
  • La maîtrise des threads en Java est indispensable pour pouvoir postuler à cette offre d’emploi.

Outils