Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Hedef yönteme erişimi eşitler.
Sözdizimi
[synchronize]
Açıklamalar
Sync C++ özniteliği, bir nesnenin hedef yöntemini eşitleme desteği uygular. Eşitleme, birden çok nesnenin hedef yöntemin erişimini denetleyerek ortak bir kaynak (sınıfın yöntemi gibi) kullanmasına olanak tanır.
Bu öznitelik tarafından eklenen kod, hedef yöntemin başında uygun Lock yöntemi (iş parçacığı modeli tarafından belirlenir) çağırır. Yöntemden çıkıldığında Unlock , otomatik olarak çağrılır. Bu işlevler hakkında daha fazla bilgi için bkz . CComAutoThreadModule::Lock
Bu öznitelik coclass, progid veya vi_progid özniteliğinin (veya bunlardan birini gösteren başka bir özniteliğin) aynı öğeye uygulanmasını gerektirir. Tek bir öznitelik kullanılırsa, diğer ikisi otomatik olarak uygulanır. Örneğin, uygulandıysa vi_progid ve coclass uygulanırsaprogid.
Örnek
Aşağıdaki kod, nesnesinin UpdateBalance yöntemi CMyClass için eşitleme sağlar.
// 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;
}
};
Gereksinimler
| Öznitelik bağlamı | Değer |
|---|---|
| Şunlar için geçerlidir: | Sınıf yöntemi, yöntemi |
| Tekrarlanabilir | Hayır |
| Gerekli öznitelikler | Aşağıdakilerden biri veya daha fazlası: coclass, progid, veya vi_progid. |
| Geçersiz öznitelikler | Hiçbiri |
Öznitelik bağlamları hakkında daha fazla bilgi için bkz . Öznitelik Bağlamları.