Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
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, , progidoder vi_progid. |
| Ungültige Attribute | Keine |
Weitere Informationen zu den Attributkontexten finden Sie unter Attributkontexte.