JoinableTaskFactory.DisableProcessing 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
앰비언트 JoinableTask동안 동기 대기하는 동안 필터링된 메시지 펌프가 실행되지 않도록 합니다.
public Microsoft.VisualStudio.Threading.JoinableTaskFactory.ProcessingDisabledOperation DisableProcessing();
member this.DisableProcessing : unit -> Microsoft.VisualStudio.Threading.JoinableTaskFactory.ProcessingDisabledOperation
Public Function DisableProcessing () As JoinableTaskFactory.ProcessingDisabledOperation
반품
동기 대기 메시지 펌프를 표시하지 않아도 되는 경우 삭제될 수 있는 값입니다. 또는 나머지 작업이 JoinableTask 처리를 사용하지 않도록 설정된 경우 삭제될 수 있습니다.
예외
의 컨텍스트 외부에서 호출되면 throw됩니다 JoinableTask.
예제
다음은 이 메서드의 간단하고 일반적인 사용법입니다.
다음은 사용 방법에 대한 더 많은 예입니다.
설명
내의 awaitJoinableTask출력 중에는 관련 작업만 수행할 수 있는 내부 메서드를 제외하고 이 메서드가 호출되는지 여부에 관계없이 메시지 펌프가 실행되지 않습니다. 주 스레드의 동기 블록(예: 동기 I/O 또는 잠금 경합)이 필요한 대리자 또는 해당 호출자 내에서 JoinableTask 사용자 코드가 실행되는 경우 이 대기는 일반적으로 호출 Wait(IntPtr[], Boolean, Int32) 을 Current통해 구현됩니다. 이 메서드의 기본 구현은 특정 중단(e.g. COM RPC 호출)을 허용하여 특정 상황에서 교착 상태를 방지 할 수 있습니다 .
이 메서드를 호출하면 활성 상태이고 제어Current하는 동안 이러한 중단을 허용하지 않는 기본 구현 Wait(IntPtr[], Boolean, Int32) 이 JoinableTask 대체됩니다. 이 메서드를 여러 번 호출할 수 있으므로 이 효과는 모든 DisableProcessing() 호출의 반환 값이 모든 순서로 삭제될 때까지 대상 JoinableTask 에 남아 있습니다. 효과는 직접 JoinableTask에만 적용됩니다. 자녀나 부모에게는 영향을 주지 않습니다.
처리를 사용하지 않도록 설정해도 Windows 운영 체제에 영향을 주지 않습니다.
결과 값을 삭제하면 기본 동작으로 되돌아갑니다. 호출자는 해당 실행의 나머지 부분에 JoinableTask대한 처리를 사용하지 않도록 설정하려는 경우 이 값을 삭제할 필요가 없습니다.