내가하고있는 작업 프로젝트의 작업 병렬 라이브러리 사용법을 연구 중이며 장시간 실행되는 작업의 장점/단점을 이해하고 싶습니다. 나는 실생활에 대한 예를 아직 가지고 있지 않다. 단지 이것에 대한 이론을 이해하고 싶다.작업 병렬 라이브러리 - LongRunning 작업 대 여러 개의 연속 작업
MSDN 페이지의 내용은 task schedulers 및이 SO question에서 가능한 한 오래 실행되는 작업을 피하는 것이 가장 좋습니다. 그러면 ThreadPool 외부에서 스레드를 만들지 않는 것이 좋습니다. 하지만 그 대신이, 당신이 완료하는 데 시간이 오래 걸릴 거라고 작업이 한 말 :
Task.Factory.StartNew(() => DoTimeConsumingWork(), TaskCreationOptions.LongRunning)
당신이 시도하고, 작은으로 작업의 빠른 단위 작업을 분할과 같은 작업의 연속 요청을 사용할 수 이 :
Task.Factory
.StartNew(() => DoWorkPart1())
.ContinueWith(t => DoWorkPart2())
.ContinueWith(t => DoWorkPart3())
//...etc
이 방법이 더 효과적 일 수 있습니까? 아니면 달성하려는 목표에 과도한 영향을 줄 수 있습니까?
정말 * long *이 무슨 뜻인지에 달려 있습니다. –