ParallelOptions.MaxDegreeOfParallelism Özellik

Tanım

Bu ParallelOptions örnek tarafından etkinleştirilen en fazla eş zamanlı görev sayısını alır veya ayarlar.

public:
 property int MaxDegreeOfParallelism { int get(); void set(int value); };
public int MaxDegreeOfParallelism { get; set; }
member this.MaxDegreeOfParallelism : int with get, set
Public Property MaxDegreeOfParallelism As Integer

Özellik Değeri

En yüksek paralellik derecesini temsil eden bir tamsayı.

Özel durumlar

özelliği sıfıra veya -1'den küçük bir değere ayarlanıyor.

Açıklamalar

özelliği, MaxDegreeOfParallelism bu ParallelOptions örnekten geçirilen yöntem çağrıları tarafından Parallel çalıştırılan eşzamanlı işlemlerin sayısını etkiler. Pozitif özellik değeri, eş zamanlı işlemlerin sayısını ayarlanan değerle sınırlar. -1 ise, eşzamanlı olarak çalışan işlemlerin sayısında bir sınır yoktur (yöntemi dışında ForEachAsync , burada -1 anlamına gelir ProcessorCount).

Varsayılan olarak For ve ForEach temel zamanlayıcının sağladığı sayıda iş parçacığı kullanır, bu nedenle varsayılandan değiştirmek MaxDegreeOfParallelism yalnızca kaç eş zamanlı görev kullanılacağını sınırlar.

Genel olarak, bu ayarı değiştirmeniz gerekmez. Ancak, bunu aşağıdakiler gibi gelişmiş kullanım senaryolarında açıkça ayarlamayı seçebilirsiniz:

  • Kullandığınız belirli bir algoritmanın belirli sayıda çekirdeğin ötesine ölçeklendirilmeyeceğini bildiğinizde. Ek çekirdeklerde döngülerin boşa harcanmasını önlemek için özelliğini ayarlayabilirsiniz.

  • Aynı anda birden çok algoritma çalıştırdığınızda ve her algoritmanın sistemin ne kadarını kullanabileceğini el ile tanımlamak istediğinizde. Her biri için bir MaxDegreeOfParallelism değer ayarlayabilirsiniz.

  • İş parçacığı havuzunun buluşsal özellikleri kullanılacak doğru iş parçacığı sayısını belirleyemediğinde ve çok fazla iş parçacığı eklemeye neden olabilir. Örneğin, uzun süre çalışan döngü gövdesi yinelemelerinde, iş parçacığı havuzu makul ilerleme durumu, canlı kilit veya kilitlenme arasındaki farkı belirleyemeyebilir ve performansı artırmak için eklenen iş parçacıklarını geri kazanamayabilir. Bu durumda, makul sayıda iş parçacığından fazlasını kullanmadığınızdan emin olmak için özelliğini ayarlayabilirsiniz.

Şunlara uygulanır