Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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, progidou vi_progid. |
| Attributs non valides | Aucun(e) |
Pour plus d'informations sur les contextes d'attribut, consultez Contextes d'attribut.