STA 구성 에서 호출 차단 정보: 만들기 작업 없음

기술 자료 번역 기술 자료 번역
기술 자료: 291837 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

요약

언제, 단일 스레드 아파트(STA), STA 아파트 차단을 인스턴스에 대해 대기 중인 것을 라이브 모든 다른 COM 인스턴스가 사는 구성 요소 개체 모델(COM) 개체 인스턴스에서 차단 호출을 확인합니다. 구성 요소에서 차단 호출을 할 경우 약속 스레딩 모델이 있습니다 구성 요소에서 차단 호출을 만드는 것이 좋습니다.

호출을 반환하는 데 시간이 오래 또는 결정되지 않은 양을 걸리면 차단 간주됩니다 예를 들어 백 엔드, 원격 프로시저 호출 (RPC)을 사용하는 네트워크 호출이 호출 또는 소켓.

또한 Visual Basic STA 응용 프로그램 및 구성 요소의 스레딩 모델이 아파트 또는 누락된 것입니다 만들 수 있습니다. 따라서 Visual Basic으로 작성된 구성 요소 차단 호출을 합니다지 않습니다.

추가 정보

아파트 스레딩 모델이 구성 요소가 있는 단일 스레드 아파트(STA) 있는 라이브. 여러 COM 개체의 인스턴스를 동일한 STA에 살고 있습니다. 그러나 있을 스레드가 하나만 (따라서 이름을) 해당 아파트에 있는 모든 COM 개체 인스턴스가 서비스. 이러한 COM 개체의 인스턴스 하나에서 차단 호출을 할 경우 해당 서비스를 제공할 수 있는 유일한 스레드가 차단되지 않으므로 다른 COM 개체 인스턴스는 starved.

약속 요소의 스레딩 모델을 가진 구성 요소에서 차단 호출을 만들어야 합니다. 이 구성 요소는 다중 스레드 아파트 (MTA) 에서 거주하고 있습니다. STA 같이 여러 COM 개체의 인스턴스를 MTA에 살고 있습니다. 그러나 MTA COM 개체의 인스턴스를 서비스 여러 스레드가 없습니다. 따라서 이 COM 개체의 인스턴스를 차단 호출하는 경우, 다른 스레드가 다른 COM 개체 인스턴스를 처리할 수 있습니다. 이 스레드가 차단 호출을 수행하는 경우에도 서비스 COM 개체의 인스턴스를 수 있습니다. 따라서 MTA 스레드에 안전한에 살고 있는 구성 요소를 만들려면 전역 데이터를 동기화 개체로 보호해야 합니다.

STA 구성 요소를 사용하여 STA COM 개체 인스턴스에서 MTA에 살고 및 차단 호출을 수행하는 있는 COM 개체 인스턴스에서 메서드를 호출할 때 차단할 수 있습니다. STA 구성 요소를 COM 프록시를 통해 호출하는 경우, 해당 아파트에 있는 다른 작업을 수행할 수 있도록 프록시 데이터를 MTA 및 COM 펌프 메시지를 에서 STA 보내는 때문입니다. STA 아파트에 있는 작업 창 메시지를 통해 도착합니다. MTA에서 다른 스레드에 스텁 통해 COM 호출 선택합니다 및 차례로 효과적으로 스레드가 "대기" 상태에 전환 차단 호출을 수행하는 COM 개체의 인스턴스를 호출할 메서드를 만듭니다. 블로킹 호출이 반환될 때 COM 메서드를 작업을 마치고 프록시 창 메시지를 통해 데이터를 반환하는 다시 스텁, 데이터를 반환합니다. STA 스레드 프록시 창 메시지의 데이터를 이도 다음 호출 구성 요소 보냅니다.

다른 있는 STA 긴 차단 호출을 RPC STA 창 메시지를 통해 통신하는 부작용입니다. 해당 스레드에 속하는 모든 다른 잠재적인 Windows 메시지와 함께 통신을 차단 호출을 수행할.

참조

COM 스레딩 방법에 대한 자세한 내용은 아래 문서 번호를 눌러 Microsoft 기술 자료에 있는 문서를 클릭하십시오.
136885정보: OLE 스레드 메시지 발송 함
분산 COM(DCOM) 아키텍처에 대한 자세한 내용은 다음 Microsoft 플랫폼 소프트웨어 개발 키트 (SDK) 설명서를 참조하십시오.
http://msdn.microsoft.com/en-us/library/ms809311.aspx

속성

기술 자료: 291837 - 마지막 검토: 2001년 7월 12일 목요일 - 수정: 1.3
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft COM+ 2.0 Standard Edition
키워드:?
kbmt kbclientserver kbinfo kbinprocsvr kbthread KB291837 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com