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 Nein
Erforderliche Attribute Eine oder mehrere der folgenden: coclass, , progidoder vi_progid.
Ungültige Attribute None

Weitere Informationen zu den Attributkontexten finden Sie unter Attributkontexte.

Siehe auch

COM-Attribute