sincronizza
Sincronizza l'accesso al metodo di destinazione.
[synchronize]
Note
sincronizzare Supporto di risorse dell'attributo di C++ a sincronizzare il metodo di destinazione di un oggetto.La sincronizzazione consente a più oggetti utilizzare una risorsa comune (ad esempio un metodo di classe) controllando l'accesso del metodo di destinazione.
il codice inserito da questo attributo chiama l'appropriato Lock metodo (determinato dal modello di threading) all'inizio del metodo di destinazione.Quando il metodo viene disconnesso, Unlock viene chiamato.per ulteriori informazioni su queste funzioni, vedere CComAutoThreadModule:: blocco
L'attributo richiede che coclasse, progid, o vi_progid attributo o un altro attributo che implica uno di questi) viene applicato anche allo stesso elemento.Se qualsiasi singolo attributo viene utilizzato, gli altri due vengono applicate automaticamente.Ad esempio, se progid viene applicato, vi_progid e coclasse anche applicati.
Esempio
Il codice seguente viene illustrata la sincronizzazione per UpdateBalance metodo di CMyClass oggetto.
// 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;
}
};
Requisiti
contesto di attributo
Si applica a |
Metodo della classe, metodo |
ripetibile |
No |
attributi obbligatori |
Uno o più dei seguenti elementi: coclasse, progid, o vi_progid. |
attributi non validi |
Nessuno |
per ulteriori informazioni sui contesti di attributo, vedere Associare ai contesti.