Freigeben über


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.

Siehe auch

Weitere Ressourcen

von COM-Attributen

Attributes Samples