Sau khi tôi nâng cấp lên DotNet 4.5, một truy vấn bắt đầu cho tôi OutOfMemoryExceptions.Tại sao OutOfMemoryException bị ném trong khi sử dụng PLINQ Take()?
Các (cất) truy vấn là:
var tests = new int[]{}
.AsParallel()
.GroupBy(_ => _)
.Take(int.MaxValue)
.ToArray();
Tôi gửi bài này cho bất cứ ai có cùng một vấn đề. Tôi sẽ trả lời dưới đây.
Bạn có đang chạy ở mức 32 bit hoặc 64 bit không? – Oded
Quy trình 32 bit. –
Tôi đã sử dụng loại mã này bên trong một hàm nhận được thông số có số lượng các phần tử cần trả về. Thông qua int.MaxValue (có một quá tải mà đã làm điều đó) về cơ bản có nghĩa là 'mất tất cả mọi thứ'. –