PLINQ를 배우고 있습니다. 나는 사이트에서 주어진 예제를 시도했다. 그러나 나는 결과가 잘못되었다는 것을 알 수 있으며 여러 번 프로그램을 다시 실행할 때도 달라집니다. 먼저 모든 소수를 제공하지 않으며 초당 9591 개의 무작위 소수를 제공합니다.PLINQ 결과가 잘못되어 실행마다 다름
IEnumerable<int> numbers = Enumerable.Range (3, 100000-3);
var parallelQuery =
from n in numbers.AsParallel()
where Enumerable.Range (2, (int) Math.Sqrt (n)).All (i => n % i > 0)
select n;
int[] primes = parallelQuery.ToArray();
감사합니다.
어떻게 달라질까요? 숫자를 정렬하지 않기 때문에 숫자의 순서가 다를 수 있습니다. – Kaerber
3에서 (100000-3)까지, 9591보다 큰 소수가 있지만 9591 소수 만 표시하고 나머지는 표시하지 않습니다. –
당신은 범위를 포함하지 않습니다 2, 내 대답 좀 봐. – Kaerber