ParallelOptions.MaxDegreeOfParallelism Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee haalt u het maximum aantal gelijktijdige taken op dat door dit ParallelOptions exemplaar is ingeschakeld.
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
Waarde van eigenschap
Een geheel getal dat de maximale mate van parallelle uitvoering aangeeft.
Uitzonderingen
De eigenschap wordt ingesteld op nul of op een waarde die kleiner is dan -1.
Opmerkingen
De MaxDegreeOfParallelism eigenschap is van invloed op het aantal gelijktijdige bewerkingen dat wordt uitgevoerd door Parallel methodeaanroepen die worden doorgegeven aan dit ParallelOptions exemplaar. Een positieve eigenschapswaarde beperkt het aantal gelijktijdige bewerkingen tot de ingestelde waarde. Als dit -1 is, is er geen limiet voor het aantal gelijktijdig uitgevoerde bewerkingen (met uitzondering van de ForEachAsync methode, waarbij -1 betekent ProcessorCount).
Standaard worden ForEach er echter veel threads gebruikt die de onderliggende scheduler biedt, dus als u de MaxDegreeOfParallelism standaardinstelling wijzigt, For wordt alleen beperkt hoeveel gelijktijdige taken worden gebruikt.
Over het algemeen hoeft u deze instelling niet te wijzigen. U kunt er echter voor kiezen om deze expliciet in te stellen in geavanceerde gebruiksscenario's, zoals deze:
Wanneer u weet dat een bepaald algoritme dat u gebruikt, niet groter wordt dan een bepaald aantal kernen. U kunt de eigenschap instellen om cycli op extra kernen te voorkomen.
Wanneer u meerdere algoritmen tegelijk uitvoert en handmatig wilt definiëren hoeveel van het systeem elk algoritme kan gebruiken. U kunt voor elke waarde een MaxDegreeOfParallelism waarde instellen.
Wanneer de heuristiek van de threadpool niet kan bepalen hoeveel threads moeten worden gebruikt en er te veel threads kunnen worden geïnjecteerd. In langlopende herhalingen van looplussen kan de threadpool bijvoorbeeld het verschil tussen redelijke voortgang of livelock of impasse niet zien en kan de threads die zijn toegevoegd om de prestaties te verbeteren, mogelijk niet vrijmaken. In dit geval kunt u de eigenschap instellen om ervoor te zorgen dat u niet meer dan een redelijk aantal threads gebruikt.