- Modele producteur-consommateur
-
Modèle producteur-consommateur
Le modèle producteur-consommateur est un exemple informatique de synchronisation de ressources. Il peut s'envisager dans différents contextes, notamment en environnement multi-thread.
Soit un ensemble de producteurs, un consommateur et une file d'attente F. Le problème est de synchroniser l'accès à une imprimante.
Le code exécuté par les producteurs est le suivant :
créer un document D verrouiller F: ajouter D à la fin de la file F envoyer un signal par F au processus consommateur déverrouiller F
Le code exécuté par le consommateur :
verrouiller F: tant qu'il y a des consommateurs: attendre signal de F pour chaque élément E de F: imprimer E fin pour effacer tous les éléments de la file F fin tant-que déverrouiller F
L'implémentation est inspirée des threads POSIX (pthreads). Notons que l'attente du signal est une opération qui déverrouille le mutex associé, attend un signal d'un autre thread, puis reverrouille le mutex une fois le signal reçu.
Liens externes
- Portail de l’informatique
Catégorie : Programmation concurrente
Wikimedia Foundation. 2010.