Udostępnij za pośrednictwem


Synchronizowanie

Synchronizuje dostępu z metodą docelową.

[synchronize]

Uwagi

Zsynchronizować atrybut C++ implementuje obsługę synchronizacji metody obiektu docelowego.Synchronizacja pozwala wielu obiektów do używania wspólnego zasobu (np. metoda klasy) poprzez kontrolowanie dostępu metodą docelową.

Kod, wprowadzony przez ten atrybut wywołuje poprawne Lock metody (określona przez model wątka) na początku metody docelowej.Gdy metoda jest zakończony, Unlock nazywa się automatycznie.Aby uzyskać więcej informacji na temat tych funkcji, zobacz CComAutoThreadModule::Lock

Atrybut ten wymaga, aby coclass, progid, lub vi_progid atrybutu (lub inny atrybut, który oznacza jeden z tych) również być stosowane do tego samego elementu.Każdy pojedynczy atrybut jest używany, pozostałe dwie są stosowane automatycznie.Na przykład jeśli progid jest stosowany, vi_progid i coclass są również stosowane.

Przykład

Poniższy kod zawiera synchronizacji dla UpdateBalance metoda CMyClass obiektu.

// 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;
   }
};

Wymagania

Atrybutu kontekstu

Stosuje się do

Metoda klasy, metoda

Powtarzalne

Nr

Wymagane atrybuty

Jeden lub więcej z następujących czynności: coclass, progid, lub vi_progid.

Nieprawidłowe atrybuty

Brak

Aby uzyskać więcej informacji na temat kontekstów atrybutu, zobacz Kontekstów atrybutu.

Zobacz też

Inne zasoby

Atrybuty COM

Attributes Samples