[c#] BackgroundWorker에 대한 작업 병렬 라이브러리 대체?

태스크 병렬 라이브러리에 BackgroundWorker 클래스를 대체하거나 개선 한 것으로 간주되는 것이 있습니까?

마법사 스타일의 UI가있는 WinForms 응용 프로그램이 있으며 몇 가지 장기 실행 작업을 수행합니다. 표준 진행률 표시 줄과 작업 취소 기능을 사용하여 반응 형 UI를 사용하고 싶습니다. 이전에 BackgroundWorker로이 작업을 수행했지만 대신 사용할 수있는 TPL 패턴이 있는지 궁금합니다.



답변

Task클래스는에 비해 개선 BackgroundWorker; 자연스럽게 중첩 (상위 / 하위 작업)을 지원하고 새로운 취소 API, 작업 연속 등을 사용합니다.

제 블로그 에 예전 BackgroundWorker방식과 새로운 Task방식을 보여주는 예가 있습니다. 진행 상황을보고해야하는 작업을위한 작은 도우미 클래스가 있습니다. 구문이 다소 어색하기 때문입니다. 이 예에서는 결과 값, 오류 조건, 취소 및 진행보고를 다룹니다.


답변

백그라운드 작업자는 여전히이를 달성하는 유효한 방법입니다. 여러 대규모 작업을 동시에 실행하는 경우 병렬 확장을 고려할 가치가있을 것입니다.


답변