synchronize
Sincroniza o acesso ao método de destino.
Sintaxe
[synchronize]
Comentários
O atributo synchronize C++ implementa o suporte para sincronizar o método de destino de um objeto. A sincronização permite que vários objetos usem um recurso comum (como um método de uma classe) controlando o acesso do método de destino.
O código inserido por esse atributo chama o método Lock
apropriado (determinado pelo modelo de threading) no início do método de destino. Quando o método é encerrado, Unlock
é chamado automaticamente. Para saber mais sobre essas funções, confira CComAutoThreadModule::Lock
Esse atributo requer que o atributo coclass, progid ou vi_progid (ou outro atributo que implique um desses) também seja aplicado ao mesmo elemento. Se qualquer atributo único for usado, os outros dois serão aplicados automaticamente. Por exemplo, se progid
for aplicado, vi_progid
e coclass
também serão aplicados.
Exemplo
O código a seguir fornece sincronização para o método UpdateBalance
do objeto 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;
}
};
Requisitos
Contexto do atributo | Valor |
---|---|
Aplicável ao | Método de classe, método |
Repetível | Não |
Atributos obrigatórios | Um ou mais dos seguintes: coclass , progid ou vi_progid . |
Atributos inválidos | Nenhum |
Para obter mais informações sobre os contextos de atributo, confira Contextos de atributo.