Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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ů.