sincronizar
Sincronizar el acceso al método de destino.
[synchronize]
Comentarios
El atributo de sincronizar C++ implementa compatibilidad para sincronizar el método de destino de un objeto.La sincronización permite que varios objetos utilizan un recurso común (como un método de una clase) controlar el acceso del método de destino.
El código insertado por este atributo llama al método adecuado de Lock (determina el modelo de subprocesos) al principio del método de destino.Cuando se sale del método, Unlock automáticamente se denomina.Para obtener más información sobre estas funciones, vea CComAutoThreadModule:: bloqueo
Este atributo requiere que CoClass, ProgID, o el atributo de vi_progid (u otro atributo que implica una de estas) también se aplican al mismo elemento.Si se utiliza cualquier atributo único, los otros dos se aplica automáticamente.por ejemplo, si se aplica ProgID , vi_progid y CoClass también se aplican.
Ejemplo
El código siguiente proporciona la sincronización del método de UpdateBalance del objeto de 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 de atributo
Se aplica a |
método de clase, método |
repetible |
No |
Atributos necesarios |
Uno o más de los siguientes: CoClass, ProgID, o vi_progid. |
Atributos no válidos |
None |
Para obtener más información sobre los contextos de atributos, vea Contextos de atributo.