0% ont trouvé ce document utile (0 vote)
110 vues12 pages

Introduction aux Threads en Programmation

Ce document définit les threads comme des séquences autonomes d'exécution au sein d'un programme pouvant donner l'illusion de parallélisme. Il explique que les threads partagent le même espace mémoire et peuvent accéder aux mêmes objets. Le document décrit également deux méthodes pour créer des threads.

Transféré par

RandomName6969lmao
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
110 vues12 pages

Introduction aux Threads en Programmation

Ce document définit les threads comme des séquences autonomes d'exécution au sein d'un programme pouvant donner l'illusion de parallélisme. Il explique que les threads partagent le même espace mémoire et peuvent accéder aux mêmes objets. Le document décrit également deux méthodes pour créer des threads.

Transféré par

RandomName6969lmao
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Les Threads

Introduction
• Exemple : si vous devez saisir des données du clavier (un
utilisateur absent), pourquoi bloquer le code qui ne dépend pas
des données?

• Solution : mettre les entrées sorties et le code qui en dépends


dans un Thread. Pendant l’attente des données, l’autre programme
peut s’exécuter.

2
Définition
• Thread : séquence autonome d’exécution d’instructions au sein d’un
programme.

• Donne l’illusion de parallélisme de l’exécution des bouts de


programmes.

• Délivre un parallélisme réel sur une machine multiprocesseur.

3
Définition
• Thread (processus léger) : unité d’exécution rattachée à un processus,
chargée d’exécuter une partie du processus.
• Le terme Thread (fil en anglais) signifie un fil ou chemin d’exécution,
lightweight process (lwp) ou processus léger (par opposition au
processus classique créé par fork, qualifié de processus lourd).

4
Tous les Threads partagent le même espace mémoire au sein de la
machine virtuelle.
•Ils peuvent accéder à tous les objets publics
•Ils peuvent modifier tous les objets publics

5
Threads et processus
Contrairement aux processus, les threads sont légers :

• Ils partagent le même espace d’adressage.


• Ils existent au sein du même processus (lourd) .
• La communication inter-thread occasionne peu de surcharge.
• Le passage contextuel d’un thread à un autre est peu coûteux.

6
Threads et processus

• Le multitâches de processus n’est pas sous le contrôle de


l’environnement d’exécution java. Par contre, il y a un mécanisme
interne de gestion multithreads.

• Le peu de surcharge occasionné par le système de multithreads de


Java est spécialement intéressant pour les applications distribuées.
Par ex., un serveur multitâches (avec une tâche par client à servir)

7
Pourquoi utiliser les Threads?

• Certains bouts de code sont indépendants (pas de relation d’ordre)


donc gain de clarté et de rapidité.

• Des application peuvent nécessiter un parallélisme


• Programme distribué
• Chronométrage d’un programme

8
Création des Threads

Deux méthodes, un point commun :


Ecrire une méthode run() qui fait ce que doit faire le thread.

• Méthode 1 : Dériver une classe de Thread.


• Méthode 2 : Implémenter l’interface Runnable.

9
La classe Thread

10
La classe Thread

11
L’interface Runnable

12

Vous aimerez peut-être aussi