ProcessorSettings

ProcessorSettings class

Processorinställningar gör det möjligt att känna igen streckkoder med flertrådig ökning av prestanda

public class ProcessorSettings

Egenskaper

namnBeskrivning
MaxAdditionalAllowedThreads { get; set; }Ange det maximala antalet ytterligare trådar för att köra kod parallellt
UseAllCores { get; set; }Behövs för att använda alla kärnor.
UseOnlyThisCoresCount { get; set; }Ange antalet kärnor som ska användas. Du måste ändra egenskapen “UseAllCores” till “false”.

Exempel

Det här exemplet visar hur du använder ProcessorSettings för att lägga till maximal multi-threaded performance

[C#]
int workerThreads = Environment.ProcessorCount * 2;
int portThreads = Environment.ProcessorCount * 2;
System.Threading.ThreadPool.GetMinThreads(out workerThreads, out portThreads);
System.Threading.ThreadPool.SetMinThreads(Math.Max(workerThreads, Environment.ProcessorCount* 2), portThreads);
System.Threading.ThreadPool.GetMaxThreads(out workerThreads, out portThreads);
System.Threading.ThreadPool.SetMaxThreads(Math.Max(workerThreads, Environment.ProcessorCount* 4), portThreads);
BarCodeReader.ProcessorSettings.MaxAdditionalAllowedThreads = Environment.ProcessorCount* 2;

//detta gör det möjligt att använda alla kärnor för ett enda BarCodeReader-anrop
BarCodeReader.ProcessorSettings.UseAllCores = true;
//detta tillåter att använda nuvarande antal kärnor
BarCodeReader.ProcessorSettings.UseAllCores = false;
BarCodeReader.ProcessorSettings.UseOnlyThisCoresCount = Math.Max(1, Environment.ProcessorCount / 2);
[VB.NET]
Dim workerThreads As Integer = Environment.ProcessorCount * 2
Dim portThreads As Integer = Environment.ProcessorCount * 2
System.Threading.ThreadPool.GetMinThreads(workerThreads, portThreads)
System.Threading.ThreadPool.SetMinThreads(Math.Max(workerThreads, Environment.ProcessorCount* 2), portThreads)
System.Threading.ThreadPool.GetMaxThreads(workerThreads, portThreads)
System.Threading.ThreadPool.SetMaxThreads(Math.Max(workerThreads, Environment.ProcessorCount* 4), portThreads)
BarCodeReader.ProcessorSettings.MaxAdditionalAllowedThreads = Environment.ProcessorCount* 2

'detta gör det möjligt att använda alla kärnor för ett enda BarCodeReader-anrop
BarCodeReader.ProcessorSettings.UseAllCores = True
'detta gör det möjligt att använda aktuellt antal kärnor
BarCodeReader.ProcessorSettings.UseAllCores = False
BarCodeReader.ProcessorSettings.UseOnlyThisCoresCount = Math.Max(1, Environment.ProcessorCount / 2)

Se även