ParallelOptions.MaxDegreeOfParallelism Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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.