다음을 통해 공유


COM+ 동기화 개념

일반적으로 아파트가 동기화를 제공하기 때문에 STA(단일 스레드 아파트)가 있는 경우 동기화가 필요하지 않습니다. MTA(다중 스레드 아파트)와 자유 스레드 개체가 있는 경우 동기화가 중요해집니다. 과거에는 자유 스레드 개체가 잠금을 처리해야 했습니다. 구성 요소에 대한 동기화 특성을 설정하여 잠금을 사용할 필요가 없습니다.

동기화에는 다음과 같은 속성이 있습니다.

  • 한 번에 한 명의 호출자가 구성 요소를 입력할 수 있습니다.
  • 프로세스 간 또는 컴퓨터 간 흐름을 금지합니다.
  • 프로세스 내에서 구성 요소에서 구성 요소로 흐릅니다.
  • 동일한 호출자의 재진입을 허용합니다.

아파트와 달리 활동은 여러 프로세스 및 호스트의 컨텍스트에 걸쳐 있습니다. 동기화는 개체를 포함할 작업을 결정합니다. 개체는 다음 작업 중 어느 작업에도 상주할 수 있습니다.

  • 작성자 활동
  • 새 활동
  • 활동 없음

COM+는 각 작업에 대한 일련의 잠금을 통해 동시성을 보장합니다. 호출자가 다른 호출자가 이미 사용하고 있는 COM+ 동기화된 구성 요소를 입력하려고 하면 잠금이 해제될 때까지 호출이 차단됩니다. 이 차단 동작은 시간 초과되지 않으며 시간 초과하도록 구성할 수 없습니다. 잠금을 사용하지 않으면 잠금이 획득되고 호출이 처리됩니다. 완료되면 다음 호출자에 대한 잠금이 해제됩니다. 교착 상태를 방지하기 위해 COM+는 네트워크 전체에 연결된 중첩된 일련의 호출을 통해 활동 전체의 모든 개체에 대한 액세스를 관리합니다.

COM+는 다음과 같은 동기화 설정을 제공합니다.

  • 사용 안 함
  • 지원되지 않음
  • 지원 여부
  • 필수
  • RequiresNew

참고

일부 동기화 설정은 다른 COM+ 구성 요소 설정과 함께 작동합니다. 예를 들어 COM+ JIT(Just-In-Time) 활성화 서비스를 사용하는 경우 동기화가 필요합니다. 트랜잭션을 사용하도록 설정하는 경우 JIT가 필요합니다. 따라서 COM+ 트랜잭션 처리 에도 동기화가 필요합니다. 따라서 JIT=True 설정이 있는 클래스에는 Synchronization=Required 또는 Synchronization=RequiresNew 설정도 있어야 합니다.

 

Component Services 관리 도구를 사용하여 동기화 옵션을 설정하는 방법에 대한 지침은 동기화 특성 설정을 참조하세요.

COM+ 관리 라이브러리를 사용하여 동기화 옵션을 설정하는 방법에 대한 자세한 내용은 COM+ 관리 자동화를 참조하세요.

COM+ 동기화 작업