Task.Start(), Task.Run(), Task.Factory.StartNew()에 대한 심층적인 이해
TPL(작업 병렬 라이브러리)은 비동기 작업을 생성하고 예약하는 다양한 방법을 제공합니다. 이 문서에서는 Task.Start(), Task.Run() 및 Task.Factory.StartNew()의 사용 시나리오와 차이점을 명확히 하는 것을 목표로 합니다.
Task.Start(), Task.Run() 및 Task.Factory.StartNew() 비교
세 가지 방법 모두 비동기 작업을 생성하고 시작할 수 있지만 기능과 용도가 다릅니다.
작업.시작()
Task.Start()는 작업을 수동으로 생성하고 예약해야 하는 하위 수준 메서드입니다. 작업 실행에 대한 제어가 제한되어 있으며 일반적으로 대부분의 시나리오에서는 권장되지 않습니다.
Task.Run()
Task.Run()은 구체적이고 안전한 매개변수를 사용하여 Task.Factory.StartNew()에 대한 바로가기를 제공합니다. 하위 첨부 파일 거부 및 기본 취소 플래그 사용과 같은 옵션을 사용하여 기본 스케줄러에 새 작업을 생성합니다.
Task.Factory.StartNew()
Task.Factory.StartNew()는 가장 유연하고 강력한 방법입니다. 다음을 포함한 사용자 정의 작업 생성 및 예약 옵션이 가능합니다.
각 방법을 사용하는 경우
요약
대부분의 실용적인 목적을 위해 Task.Run()은 비동기 작업의 기본 선택입니다. 추가 사용자 정의가 필요한 경우 Task.Factory.StartNew()가 필요한 유연성을 제공합니다. 그러나 타당한 이유가 없는 한 Task.Start()를 사용하지 마십시오.
위 내용은 Task.Start(), Task.Run() 및 Task.Factory.StartNew(): 언제 각각 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!