synchronisieren Sie
Synchronisiert Zugriff auf die Zielmethode.
[synchronize]
Hinweise
Das Attribut synchronisieren Sie C++ implementiert die Unterstützung für das Synchronisieren der Zielmethode eines Objekts.Die Synchronisierung kann mehrere Objekte, um eine allgemeine Ressource (z. B. eine Methode einer Klasse), indem sie den Zugriff steuert die Zielmethode zu verwenden.
Der Code, der von diesem Attribut eingefügt wird, ruft die entsprechende Methode ( Lock bestimmt durch das Threadingmodell) am Anfang der Zielmethode.Wenn die Methode beendet wird, wird Unlock automatisch aufgerufen.Weitere Informationen zu diesen Funktionen finden Sie unter CComAutoThreadModule::Sperre
Dieses Attribut erfordert, dass Co-Klasse, ProgIDoder vi_progid-Attribut (oder ein anderes Attribut, das ein solcher Test vorhanden), bedeutet auch auf das gleiche Element übernommen werden.Wenn ein einzelnes Attribut wird, die anderen zwei automatisch angewendet werden.Wenn z. B. progid angewendet wird, werden vi_progid und coclass ebenfalls angewendet.
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
Attribut-Kontext
Betrifft |
Klassenmethode, Methode |
Wiederholbar |
Nein |
Erforderliche Attribute |
Ein oder mehrere der folgenden Schritte aus: coclass, progidoder vi_progid. |
Ungültige Attribute |
None |
Weitere Informationen über das kontexte finden Sie unter Attribut-Kontexte.