Threads : synchroniser l'acces à des données en mémoire

Résolu
guerald Messages postés 5 Date d'inscription jeudi 26 février 2004 Statut Membre Dernière intervention 27 novembre 2005 - 27 nov. 2005 à 21:54
guerald Messages postés 5 Date d'inscription jeudi 26 février 2004 Statut Membre Dernière intervention 27 novembre 2005 - 27 nov. 2005 à 22:47
Bonjour,



Voila mon problème jai "n" threads qui doivent partager un objet en mémoire.

Pour des soucis d'obtimisation l'objet doit pouvoir être accessible en
lecture par plusieurs threads et en écriture par un seul threads.

Pour résoudre ce problème j'ai pensé à créer un tableau statique de
sémaphore de taille "n". Chaque semaphore du tableau étant associé à un
thread.

Pour la lecture on attend que la semaphore du thread qui souhaite
accéder à l'objet soit libérée (on bloque le temps de la lecture puis
on libère).

Pour l'ecriture on attend que toutes les semaphores du tableau soient libérés.

En fait cette solution fonctionne mais je voulais savoir s'il n'y avait pas une methode plus propre (si possible sans MFC ).

Merci et désolé pour le pavé .
A voir également:

3 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
27 nov. 2005 à 22:10
Regarde les sections critiques dans Richter chapitre 10:
http://brunews.free.fr/brunews/download/JR4.zip
http://brunews.free.fr/brunews/download/JR4Sources.zip

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
3
guerald Messages postés 5 Date d'inscription jeudi 26 février 2004 Statut Membre Dernière intervention 27 novembre 2005
27 nov. 2005 à 22:16
daccord merci pour la reponse si rapide je vais regarder en esperant que ca va m'aider.
0
guerald Messages postés 5 Date d'inscription jeudi 26 février 2004 Statut Membre Dernière intervention 27 novembre 2005
27 nov. 2005 à 22:47
Je viens de finir de lire l'article et ca répond exactement à ce que je recherchais merci bruNews, je pense que je vais garder le livre de coté ca pourrait repondre à pas mal de probleme que j'aurais plus tard .
0
Rejoignez-nous