Tôi tò mò về các đặc tính hiệu năng của Parallel.ForEach. Cho bất kỳ cấu trúc hợp lệ nào bên trong một vòng lặp Parallel.ForEach, nó luôn luôn thích hợp hơn để sử dụng Parallel.ForEach trong vòng lặp foreach? Tôi đặc biệt tự hỏi về chi phí của việc gọi thư viện Parallel Tasks trên các bộ nhỏ hoặc các trường hợp cạnh khác, nơi vòng lặp foreach có thể nhanh hơn. Tôi biết thư viện khá thông minh về thời gian/cách tạo chủ đề ... có trường hợp tốt hơn là chỉ để lại mã trong vòng lặp foreach hay là chi phí cho việc gọi Parallel Tasks thường không thể thực hiện được, vì vậy nếu có thể, bạn nên sử dụng Parallel.ForEach?Các hướng dẫn cho Parallel.ForEach vs. foreach là gì?
Câu hỏi này tương tự và cung cấp thông tin khác biệt về chức năng tốt nhưng không thực sự nói đến hiệu suất. Lưu ý rằng tôi đang bỏ qua khả năng tương thích với .NET < 4 như một lý do để ở lại với một foreach:
C#: Any benefit of List<T>.ForEach(...) over plain foreach loop?
Bạn có thể tìm thấy một số câu trả lời tại đây http://www.microsoft.com/downloads/details.aspx?familyid=C3EA8FB5-650D-434B-A216-7E54C53965D1&displaylang=vi –