UpsSys.ModeSynchronisation
ModeSynchronisation Dans (SynchronisationLecturePartagee, SynchronisationLectureExclusive, SynchronisationEcriturePartagee, SynchronisationEcritureExclusive);
Description
L'énuméré ModeSynchronisation spécifie comment une synchronisation doit être prise lors de l'appel à la méthode Prendre du type Synchronisation.
La signification des valeurs est la suivante :
- SynchronisationLecturePartagee.
Si aucune autre tâche n'a pris la synchronisation en écriture exclusive, alors la tâche courante s'approprie la synchronisation. Sinon, elle est suspendue jusqu'à ce que la tâche ayant pris la synchronisation en écriture exclusive l'ait lâché.
- SynchronisationLectureExclusive.
Si aucune autre tâche n'a pris la synchronisation en lecture partagée ou en écriture (partagée ou exclusive), alors la tâche courante s'approprie la synchronisation. Sinon, elle est suspendue jusqu'à ce que la ou les tâches ayant pris la synchronisation dans un mode incompatible avec SynchronisationLectureExclusive l'aient lâchées.
- SynchronisationEcriturePartagee.
Si aucune autre tâche n'a pris la synchronisation en écriture (partagée ou exclusive), alors la tâche courante s'approprie la synchronisation. Sinon, elle est suspendue jusqu'à ce que la ou les tâches ayant pris la synchronisation dans un mode incompatible avec SynchronisationEcriturePartagee l'aient lâchées.
- SynchronisationEcritureExclusive.
Si aucune autre tâche n'a pris la synchronisation en lecture ni en écriture (partagée en lecture ou exclusive), alors la tâche courante s'approprie de la synchronisation dans le mode demandé. Sinon, elle est suspendue jusqu'à ce que la ou les tâches ayant pris la synchronisation l'aient lâchées.
Ainsi :
- Plusieurs accès en lecture partagée peuvent être réalisés avec le mode SynchronisationLecturePartagee.
- Un accès en lecture exclusive peut être réalisé avec le mode SynchronisationLectureExclusive.
- Un accès en écriture partagée avec des accès en lecture peuvent être réalisés avec le mode SynchronisationEcriturePartagee.
- Un accès en écriture exclusive peut être réalisé avec le mode avec le mode SynchronisationEcritureExclusive.
Exemple
Type Personne
/***********/
Fin Type
Variable
/******/
ListePersonnes : Nul Ou ListeDe Personne;
/* Liste des personnes. */
SListeDePersonnes : Synchronisation;
/* Synchronisation pour accéder à la liste. */
Principal
/*******/
Debut
...
SListeDePersonne.Prendre(60, SynchronisationLecture);
/* Début d'une portion de code qui ne fait que lire la liste. */
...
SListeDePersonne.Remettre();
/* Fin d'une portion de code qui ne fait que lire la liste. */
...
SListeDePersonne.Prendre(60, SynchronisationEcriturePartagee);
/* Début d'une portion de code qui met à jour la liste. */
...
SListeDePersonne.Remettre();
/* Fin d'une portion de code qui met à jour la liste. */
...
Fin Principal
Traduction