동기화

대상 메서드에 대 한 액세스가 동기화합니다.

[synchronize]

설명

해당 동기화 C++ 특성 대상 메서드가 개체의 동기화에 대 한 지원을 구현 합니다.동기화 대상 방법에 대 한 액세스를 제어 하 여 일반 자원 (예: 클래스의 메서드)를 사용 하는 여러 개의 개체를 수 있습니다.

이 특성에 의해 삽입 된 코드를 호출 하는 적절 한 Lock (스레딩 모델에 의해 결정 됨) 메서드는 대상 메서드의 시작 부분에.이 메서드 종료 시 Unlock 자동으로 호출 됩니다.이러한 함수에 대 한 자세한 내용은 CComAutoThreadModule::Lock

필요로 하는이 특성에 coclass, progid, 또는 vi_progid 특성 (또는이 중 하나를 의미 하는 다른 특성)도 적용 될 같은 요소를 합니다.다른 두 가지는 단일 특성을 사용 하는 경우에 자동으로 적용 됩니다.예를 들어, 경우 progid 적용 된 vi_progidcoclass 적용 됩니다.

예제

다음 코드에 대 한 동기화를 제공는 UpdateBalance 메서드는 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;
   }
};

요구 사항

컨텍스트 특성

적용 대상

클래스 메서드, 메서드

반복 가능

아니요

필수 특성

하나 이상의 다음: coclass, progid, 또는 vi_progid.

잘못 된 특성

없음

속성 컨텍스트에 대 한 자세한 내용은 참조 하십시오. 컨텍스트 특성.

참고 항목

기타 리소스

COM 특성

Attributes Samples