Sdílet prostřednictvím


synchronize

Synchronizuje přístup k cílové metodě.

Syntaxe

[synchronize]

Poznámky

Synchronizační atribut C++ implementuje podporu synchronizace cílové metody objektu. Synchronizace umožňuje více objektům používat společný prostředek (například metodu třídy) tím, že řídí přístup cílové metody.

Kód vložený tímto atributem volá správnou Lock metodu (určenou modelem vláken) na začátku cílové metody. Když je metoda ukončena, Unlock je volána automaticky. Další informace o těchto funkcích naleznete v tématu CComAutoThreadModule::Lock

Tento atribut vyžaduje, aby se na stejný prvek použil také atribut coclass, progid nebo vi_progid (nebo jiný atribut, který napovídá jeden z těchto atributů). Pokud se použije jakýkoli jeden atribut, ostatní dva se automaticky použijí. Pokud se například progid použije a vi_progid coclass použije se také.

Příklad

Následující kód poskytuje synchronizaci pro UpdateBalance metodu objektu CMyClass .

// 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;
   }
};

Požadavky

Kontext atributu Hodnota
Platí pro Metoda třídy, metoda
Opakovatelný No
Požadované atributy Nejméně jedna z následujících možností: coclass, progidnebo vi_progid.
Neplatné atributy Nic

Další informace o kontextech atributů naleznete v tématu Kontexty atributů.

Viz také

COM – atributy