OVH Cloud OVH Cloud

Comment faire un Compteur de threads ?

4 réponses
Avatar
Pendloup
Bonjour,

J'ai un petit pb conceptuel. J'ai n threads de communication qui
t=E9l=E9chargent des donn=E9es . J'ai une autre application qui =E0 besoin
de savoir si au moins un des ces threads est en train de t=E9l=E9charger.
Je pensait utiliser un objet de synchronisation, mais je ne vois pas .

J'ai aussi pens=E9 =E0 un compteur en m=E9moire partag=E9e associ=E9 =E0
un =E9v=E8nement qui signalerait que ce compteur vaut 0. Est-ce possible
?


Merci pour votre aide.

Pendloup.

4 réponses

Avatar
Dominique Vaufreydaz
Bonjour,

J'ai un petit pb conceptuel. J'ai n threads de communication qui
téléchargent des données . J'ai une autre application qui à besoin
de savoir si au moins un des ces threads est en train de télécharger.
Je pensait utiliser un objet de synchronisation, mais je ne vois pas .

J'ai aussi pensé à un compteur en mémoire partagée associé à



Si c'est multithread, la memoire est deja partagée. Ne pas faire
de la memoire partagée pour ca.

un évènement qui signalerait que ce compteur vaut 0. Est-ce possible
?



Tout est possible ! Après, la suite depend fortement de tes besoins.
Perso, une classe avec un Mutex et un compteur et ca roule, non ?

Doms.
Avatar
Pendloup
Bonjour,

Dominique Vaufreydaz a écrit :

Tout est possible ! Après, la suite depend fortement de tes besoins.
Perso, une classe avec un Mutex et un compteur et ca roule, non ?





Ok, j'ai compris. En fait j'ai déjà ce qu'il me faut, car chaque
thread possède un pointeur sur une structure commune. J'ai juste à
ajouter mon compteur dedans.


Merci de ton aide.


Pendloup.
Avatar
Dominique Vaufreydaz
Bonjour,

Ok, j'ai compris. En fait j'ai déjà ce qu'il me faut, car chaque
thread possède un pointeur sur une structure commune. J'ai juste à
ajouter mon compteur dedans.



Pour simplement compter le nombre d'instance d'une class, il suffit
de mettre 2 attribut static (commun a toutes les instances). Un mutex
et un unsigned int. Dans le(s) constructeur(s), prise du mutex,
ajout d'1 sur le compteur, relache du mutex. Dans le destrcteur,
idem en decrementant de 1.

Doms.
Avatar
Pendloup
Bonjour,



Dominique Vaufreydaz a écrit

Pour simplement compter le nombre d'instance d'une class, il suffit
de mettre 2 attribut static (commun a toutes les instances). Un mutex
et un unsigned int. Dans le(s) constructeur(s), prise du mutex,
ajout d'1 sur le compteur, relache du mutex. Dans le destrcteur,
idem en decrementant de 1.





C'est pas bête ça. C'est adopté.
Merci beaucoup.


Pendloup.