비동기 작업을 동기화하는 방법 & lt; t & gt; 메소드 Async 프로그래밍은 비동기 작업을 처리하는 편리한 방법을 제공하지만 비동기 메서드를 동시에 실행 해야하는 시나리오가있을 수 있습니다. 한 가지 일반적인 오해는 askonshronously ()를 사용하는 것입니다.이 문제를 피하려면이 문제를 피하려면 Asynchelpers 클래스에서 다음 방법을 사용하는 것을 고려하십시오. usage :
구현 :
public static void RunSync(Func<Task> task); public static T RunSync<T>(Func<Task<T>> task);
runsync 메소드는 독점적 인 입력을 생성하고 현재 동기화 콘텐츠로 설정합니다. 비동기 작업을 실행하기 위해 대의원을 게시하고 완료를 기다립니다. 실행 중에 예외가 발생하면 실행 메소드 내에서 집계 외환으로 재충전됩니다. 장점 :
var customerList = AsyncHelpers.RunSync(() => GetCustomers());
디스패처가 현탁 된 경우에도 작동합니다. State. 는 Try-Catch 또는 Await 블록으로 오류 처리가 필요하지 않습니다. Async 메소드에 대한 동기 실행 시맨틱을 제공합니다.
위 내용은 비동기 작업 방법을 어떻게 동기화 할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!