다음을 통해 공유


비동기 호출의 인과 관계 순서 지정

비동기 RPC 애플리케이션에서 클라이언트 스레드는 해당 핸들에 대한 이전 호출이 완료되기 전에 바인딩 핸들에 대해 두 번째 비동기 호출을 할 수 있습니다. RPC 런타임 라이브러리는 다음과 같이 이 상황을 처리합니다.

  • 비동기 RPC 메커니즘은 동일한 스레드의 동일한 보안 수준에서 동일한 바인딩 핸들에서 수행한 비동기 호출이 순서대로 디스패치되도록 보장합니다. 호출의 실제 실행이 순서대로 실행되지 않을 수 있습니다.
  • 동기 호출과 마찬가지로 다른 클라이언트 스레드의 비동기 원격 프로시저 호출이 동시에 실행됩니다.
  • 클라이언트 애플리케이션의 비동기 호출 다음에 하나 이상의 동기 호출이 수행되는 경우 동기 호출이 실행되는 동안 비동기 호출이 실행될 수 있습니다. 비동기 호출의 상태에 관계없이 동기 호출은 서버에서 수신되는 순서대로 실행됩니다.
  • 클라이언트 애플리케이션이 특정 바인딩 핸들에 대해 비원인 순서를 선택하는 경우, 해당 핸들에 대한 직렬화를 비활성화합니다. 애플리케이션은 비원인 순서 지정을 사용하도록 설정하기 위해 RpcBindingSetOption를 호출하며, 이때 Option 매개 변수를 RPC_C_OPT_BINDING_NONCAUSAL로, OptionValue 매개 변수를 TRUE로 설정해야 합니다. 자세한 내용은 바인딩 옵션 상수참조하세요.