synchronize
Synchronisiert den Zugriff auf die Zielmethode.
Syntax
[synchronize]
Hinweise
Das synchronize C++-Attribut implementiert Unterstützung für die Synchronisierung der Zielmethode eines Objekts. Die Synchronisierung ermöglicht es mehreren Objekten, eine gemeinsame Ressource (z. B. eine Methode einer Klasse) zu verwenden, indem der Zugriff auf die Zielmethode gesteuert wird.
Der von diesem Attribut eingefügte Code ruft die richtige Lock
Methode (bestimmt durch das Threadingmodell) am Anfang der Zielmethode auf. Wenn die Methode beendet wird, Unlock
wird sie automatisch aufgerufen. Weitere Informationen zu diesen Funktionen finden Sie unter CComAutoThreadModule::Lock
Dieses Attribut erfordert, dass die Attribute coclass, progid, oder vi_progid (oder ein anderes Attribut, das eines der genannten impliziert) auch auf demselben Element angewendet werden. Wenn ein einzelnes Attribut verwendet wird, werden die anderen beiden automatisch angewendet. Wenn sie beispielsweise progid
angewendet vi_progid
wird und coclass
auch angewendet werden.
Beispiel
Der folgende Code stellt die Synchronisierung für die UpdateBalance
Methode des CMyClass
Objekts bereit.
// 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;
}
};
Anforderungen
Attributkontext | Wert |
---|---|
Gilt für | Class-Methode, Methode |
Wiederholbar | No |
Erforderliche Attribute | Eine oder mehrere der folgenden: coclass , , progid oder vi_progid . |
Ungültige Attribute | Keine |
Weitere Informationen zu den Attributkontexten finden Sie unter Attributkontexte.