ProcessorSettings

ProcessorSettings class

ProcessorSettings permet de reconnaître les codes-barres avec une augmentation multi-thread des performances

public class ProcessorSettings

Propriétés

NomLa description
MaxAdditionalAllowedThreads { get; set; }Spécifiez le nombre maximal de threads supplémentaires pour exécuter du code en parallèle
UseAllCores { get; set; }Est nécessaire pour utiliser tous les cœurs.
UseOnlyThisCoresCount { get; set; }Spécifiez le nombre de cœurs à utiliser. Vous devez changer la propriété “UseAllCores” en “false”.

Exemples

Cet exemple montre comment utiliser ProcessorSettings pour ajouter des performances multithread maximales

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

// cela permet d'utiliser tous les cœurs pour un seul appel BarCodeReader
BarCodeReader.ProcessorSettings.UseAllCores = true;
// cela permet d'utiliser le nombre actuel de cœurs
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

'cela permet d'utiliser tous les cœurs pour un seul appel BarCodeReader
BarCodeReader.ProcessorSettings.UseAllCores = True
'cela permet d'utiliser le nombre actuel de cœurs
BarCodeReader.ProcessorSettings.UseAllCores = False
BarCodeReader.ProcessorSettings.UseOnlyThisCoresCount = Math.Max(1, Environment.ProcessorCount / 2)

Voir également