Question

I ont une structure de données dont les opérations peuvent être classées comme des opérations de lecture (par exemple, recherche) et d'écriture (par exemple, insertion, suppression). Ces opérations doivent être synchronisées de sorte que:

  • Les opérations de lecture ne peuvent pas exécuter pendant une opération d'écriture est en cours d'exécution (sauf sur le même fil), mais les opérations de lecture peuvent être exécutées simultanément par rapport à d'autres opérations de lecture.
  • Les opérations d'écriture ne peuvent pas exécuter en lecture ou d'écriture des opérations exécutent (à moins que sur le même thread).

Comment ce type de synchronisation mise en œuvre?

La plate-forme est gagnant-api si les objets de synchronisation de l'API et les fonctions sont emboîtées les blocs de construction de base.

Était-ce utile?

La solution

La mise en œuvre recommandée de Microsoft d'un verrou de lecture / écriture est ici (vous devez faire défiler un peu, à l'en-tête « serrures Reader / Writer »):

http://msdn.microsoft.com/en-us/library /ms810427.aspx

Pour référence, pour ceux qui ont la même question, mais qui ont le luxe de .NET:

http://msdn.microsoft.com/en -nous / bibliothèque / system.threading.readerwriterlock.aspx

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top