Frank Singhoff
Le programme permettant de visionner des flux MPEG
est constitué d'un tampon
et de deux threads (cf figure ci-dessus). Le premier thread lit à partir du
disque les images MPEG puis les stocke dans un tampon.
Le deuxième thread récupère les images du tampon, les décode
puis
les présente dans une fenêtre X11.
Pour ce faire, vous utiliserez des sémaphores privés plein et vide (sémaphores initialisés à 0). Ceux-ci permettent de suspendre consommateur et producteur jusqu'à la disponibilité des ressources leur permettant de terminer une opération d'ajout ou de retrait dans le tampon. Ainsi, un producteur bloqué en attente de place libre dans le tampon doit être réveillé par le consommateur et réciproquement.
Attention : il ne s'agit pas ici d'utiliser les sémaphores pour compter les cases libres ou occupées : cette solution qui a été présentée en cours ne passe pas à l'échelle.
player future.mpg