2

C#에서 병렬 처리를 사용하도록 설계된 컬렉션 라이브러리와 관련하여 TPL 및 PLINQ에 어떤 대안이 있는지 궁금합니다.C에서 작업 병렬 라이브러리 및 PLINQ 대안

편집 : 문안으로 나는이 질문이 혼란 스러웠다 고 생각합니다. 나는 PLINQ 이외의 병렬 수집 라이브러리를 찾고있다. 가능하면 PLINQ와 TPL 위에 구현됩니다. 저는 특히 순수한 기능 라이브러리에 관심이 있습니다.

+3

불만족스러워하는 TPL은 무엇입니까? – JaredPar

+0

반응성 확장은 중요합니까? –

+0

@ JaredPar 나는 TPL이 만족스럽지 못하다는 것을 의미하지는 않는다. 그러나 나는 다른 옵션이 무엇인지 알고 싶다. 그러나 당신이 묻기 때문에 : TPL은 약간의 목적을 위해 너무 저수준이고 PLINQ에서 만들어진 디자인 결정 (예 : 시퀀스 및 정렬되지 않은 컬렉션의 결합)에 동의하지 않습니다. – cdiggins

답변

1

병렬 처리는 항상 동일한 작업을 실행하기 위해 여러 개의 스레드 (또는 컴퓨터! 입력 값 집합을 균등하게 나누고이 청크 중 하나를 처리하는 많은 스레드를 시작하는 것은 매우 쉽습니다. 보너스는 호출 스레드에서 결과/예외를 읽을 수 있습니다. 이것은 TPL과 PLINQ 모두 가능합니다.

TPL 및 PLINQ의 이점은 작업을 병렬로 실행하기 위해 이러한 세부 사항을 고려할 필요가 없다는 것입니다. 프로그램을 만든 후에는이 라이브러리가 입력 및 출력을 처리하는 방법을 조정할 수 있으며 코드는 거의 변경되지 않습니다. 예를 들어 각 스레드에 동일한 양의 입력 값을 제공하지 않고 청크를 완료 할 때마다 부분을 공급할 수 있습니다.

진정한 병렬 처리를 거치지 않는 한 내가 무엇이 빠졌는지 정말로 알지 못합니다.

+0

답변 해 주셔서 감사합니다. 그러나 이것은 제가 후일이 아니 었습니다. 콜렉션에서 동시 작업을 수행하기 위해 PLINQ 및 TPL에 대한 대체 라이브러리를 찾고 있습니다. 나의 명확성의 부족을 유감스럽게 생각한다. – cdiggins

+0

한편으로 TPL/PLINQ에 대해 마음에 들지 않는 것을 설명하지 않고 대안을 원하고, PLINQ/TPL ("대안"으로 간주 할 수 없음) 위에 구현 될 수있는 것을 원한다. 당신이 찾고있는 것을 보여줄 수 있습니까? –

관련 문제