Partage via


synchronize

Synchronise l’accès à la méthode cible.

Syntaxe

[synchronize]

Notes

L’attribut Sync C++ implémente la prise en charge de la synchronisation de la méthode cible d’un objet. La synchronisation permet à plusieurs objets d’utiliser une ressource commune (telle qu’une méthode d’une classe) en contrôlant l’accès de la méthode cible.

Le code inséré par cet attribut appelle la méthode appropriée Lock (déterminée par le modèle de threading) au début de la méthode cible. Lorsque la méthode est terminée, Unlock elle est appelée automatiquement. Pour plus d’informations sur ces fonctions, consultez CComAutoThreadModule ::Lock

Cet attribut exige que l’attribut coclass, progidou vi_progid (ou un autre attribut qui implique l’un de ceux-ci) soit également appliqué au même élément. Si un attribut unique est utilisé, les deux autres sont appliqués automatiquement. Par exemple, si progid elle est appliquée et coclassvi_progid appliquée également.

Exemple

Le code suivant fournit la synchronisation pour la UpdateBalance méthode de l’objet CMyClass .

// cpp_attr_ref_synchronize.cpp
// compile with: /LD
#define _ATL_ATTRIBUTES
#include "atlbase.h"
#include "atlcom.h"

[module(name="SYNC")];

[coclass,
threading(both),
vi_progid("MyProject.MyClass"),
progid("MyProject.MyClass.1"),
uuid("7a7baa0d-59b8-4576-b754-79d07e1d1cc3")
]
class CMyClass {
   float m_nBalance;

   [synchronize]
   void UpdateBalance(float nAdjust) {
      m_nBalance += nAdjust;
   }
};

Spécifications

Contexte d’attribut Value
S’applique à Méthode de classe, méthode
Renouvelable Non
Attributs requis Un ou plusieurs des éléments suivants : coclass, progidou vi_progid.
Attributs non valides Aucun

Pour plus d'informations sur les contextes d'attribut, consultez Contextes d'attribut.

Voir aussi

Attributs COM