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 coclass
vi_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 | Valeur |
---|---|
S’applique à | Méthode de classe, méthode |
Renouvelable | Non |
Attributs requis | Un ou plusieurs des éléments suivants : coclass , progid ou vi_progid . |
Attributs non valides | Aucune |
Pour plus d'informations sur les contextes d'attribut, consultez Contextes d'attribut.