ProcessorSettings

ProcessorSettings class

ProcessorSettings ermöglichen die Erkennung von Barcodes mit Multithreading-Leistungssteigerung

public class ProcessorSettings

Eigenschaften

NameBeschreibung
MaxAdditionalAllowedThreads { get; set; }Geben Sie die maximale Anzahl zusätzlicher Threads an, um Code parallel auszuführen
UseAllCores { get; set; }Wird benötigt, um alle Kerne zu nutzen.
UseOnlyThisCoresCount { get; set; }Geben Sie die Anzahl der zu verwendenden Kerne an. Sie müssen die Eigenschaft “UseAllCores” auf “false” ändern.

Beispiele

Dieses Beispiel zeigt, wie ProcessorSettings verwendet wird, um die maximale Multithread-Leistung hinzuzufügen

[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;

//Dies ermöglicht die Verwendung aller Kerne für einen einzelnen BarCodeReader-Aufruf
BarCodeReader.ProcessorSettings.UseAllCores = true;
// Dies ermöglicht die Verwendung der aktuellen Anzahl von Kernen
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

'Dadurch können alle Kerne für einen einzelnen BarCodeReader-Aufruf verwendet werden
BarCodeReader.ProcessorSettings.UseAllCores = True
'Dies ermöglicht die Verwendung der aktuellen Anzahl von Kernen
BarCodeReader.ProcessorSettings.UseAllCores = False
BarCodeReader.ProcessorSettings.UseOnlyThisCoresCount = Math.Max(1, Environment.ProcessorCount / 2)

Siehe auch