Initiation à la programmation multitâche en C avec Pthreads
http://franckh.developpez.com/tutoriels/posix/pthreads/
Citation:
Les threads permettent de créer des programmes multitâches, ce tutoriel vous propose une approche par la pratique en partant d'un exemple unique !
Vous pouvez laisser un commentaire pour cet article à la suite.
:merci:
Problème de réveil de thread
Bonjour,
En reprenant ce bon exemple, j'ai trouvé un souci.
Dans le thread store, le réveil de tous les threads joueurs doit être réalisé, donc au lieu de l'appel à
Code:
pthread_cond_signal (& store.cond_clients);
c'est un appel à:
Code:
pthread_cond_broadcast(& store.cond_clients);
qui doit être effectué.
Stéphane
Difficulté avec pthread_mutex_lock
En lisant le tuto j'ai crue que pthread_mutex_lock ne pouvais être bloquant mais c'est pthread_mutex_trylock qui n'est pas bloquant .
Cette premierre fonction permet de déterminer le début d'une zone critique. Son seul argument est l'adresse d'un mutex de type pthread_mutex_t. La fonction renvoie 0 en cas de succès ou se bloque en attendant la libération du mutex ou retourne l'une des valeurs suivante dans certain cas :
EINVAL : mutex non initialisé.
EDEADLK : mutex déjà verrouillé par un thread différent.