Aracılığıyla paylaş


synchronize

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ı.

Ayrıca bkz.

COM Öznitelikleri