Dataflow TPL 라이브러리를 사용하여 파이프 라인을 구현하는 것에 대한 질문이 있습니다.Dataflow TPL 선행 조건을 사용하여 파이프 라인 구현
내 경우에는 일부 작업을 동시에 처리해야하는 소프트웨어가 있습니다. 처리 방식은 다음과 같습니다. 먼저 전역 수준에서 앨범을 처리 한 다음 앨범 내부로 이동하여 각 그림을 개별적으로 처리합니다. 응용 프로그램이 처리 슬롯을 가지고 있으며 구성 할 수 있다고 가정 해 봅시다 (예를 들어 슬롯 = 2로 가정). 이것은 애플리케이션이 처리 할 수있는 수단 중 하나
a) 동일한 앨범 동시에 d) 상기 두 개의 포토에서 동시에 두 앨범 b) 다른 앨범 C에서 하나 개의 앨범 + 하나 개 사진) 개의 포토 다른 앨범
에 동시에 현재이 같은 과정을 구현 :TransformBlock<Album, Album> albumTransferBlock = new TransformBlock<Album, Album>(ProcessAlbum, new ExecutionDataflowBlockOptions { MaxDegreeOfParallelism = 2 });
ActionBlock<Album> photoActionBlock = new ActionBlock<Album>(ProcessPhoto);
albumTransferBlock.LinkTo(photoActionBlock);
Album ProcessAlbum(Album a) {
return a;
}
void ProcessPhoto(Album album) {
foreach(var photo in album) {
// do some processing
}
}
내가 가진 문제는 내가 한 번에 1 앨범을 처리 할 때, 응용 프로그램이 사진을 처리하는 두 개의 슬롯을 사용하지 않을 것입니다. c)를 제외한 모든 요구 사항을 충족합니다.
DataFlow TPL을 사용하여이 문제를 해결할 수있는 사람이 있습니까?
감사합니다. :)