Comment utiliser Async et Multithread dans les codes-barres en utilisant C#

How to Use Async and Multithread

This article was translated from English: Does it need improvement?
Translated
View the article in English

Les termes Async et Multithreading sont souvent confondus. Les deux méthodes visent à améliorer la performance et l'efficacité du programme en optimisant l'utilisation des ressources système et en réduisant la durée d'exécution. Cependant, elles diffèrent dans leur approche, leurs mécanismes et leurs cas d'utilisation prévus. IronBarcode prend en charge les deux approches. Cet article explore les différences entre elles et comment les mettre en œuvre à l'aide d'IronBarcode.

Exemple de démarrage rapide : Lecture de codes-barres asynchrones et multithread

Utilisez cet exemple en une ligne pour démarrer instantanément avec IronBarcode. Il montre à quel point il est facile de combiner les options de lecture asynchrone et multithread pour scanner plusieurs images de codes-barres en parallèle avec un minimum de configuration.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronBarcode with NuGet Package Manager

    PM > Install-Package BarCode

  2. Copy and run this code snippet.

    var results = await IronBarCode.BarcodeReader.ReadAsync(imagePaths, new IronBarCode.BarcodeReaderOptions { Multithreaded = true, MaxParallelThreads = 4, ExpectMultipleBarcodes = true });
  3. Deploy to test on your live environment

    Start using IronBarcode in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

Workflow minimal (5 étapes)

  1. Téléchargez la bibliothèque C# pour la prise en charge asynchrone et multithread
  2. Utilisez les méthodes ReadAsync et ReadPdfAsync pour la lecture asynchrone de codes-barres à partir d'images et de PDF
  3. Activez le multithreading avec la propriété Multithreaded réglée sur 'true'
  4. Spécifiez le nombre de threads parallèles à l'aide de la propriété MaxParallelThreads
  5. Vérifiez la comparaison de performance entre la lecture normale, asynchrone et multithread de codes-barres

## Exemple de lecture de codes-barres de façon asynchrone Commençons par comprendre ce qu'est la lecture asynchrone et comment elle bénéficie aux utilisateurs. La lecture asynchrone permet aux opérations longues ou bloquantes de se poursuivre sans bloquer l'exécution du thread principal. En C#, les utilisateurs peuvent utiliser les mots-clés `async` et `await` avec des méthodes supportant des fonctionnalités asynchrones. Cela ne crée pas de threads supplémentaires, mais libère plutôt le thread actuel. Bien que le thread principal soit toujours nécessaire pour initier et gérer des tâches, il ne doit pas être exclusivement consacré à une seule tâche. Le thread principal est invoqué lorsque la méthode asynchrone nécessite son implication, lui permettant de gérer d'autres tâches quand il n'est pas nécessaire, comme les tâches liées à l'I/O telles que la lecture/écriture de fichiers ou les requêtes réseau. Prenons comme exemple la lecture de codes-barres. Dans ce scénario, les étapes impliquées seraient: - Lecture du fichier - Application des options de lecture - Décodage du code-barres Pendant l'étape « Lecture du fichier », la tâche principale peut être libérée. Utilisez les méthodes `ReadAsync` et `ReadPdfAsync` pour lire de manière asynchrone les codes-barres à partir d'images et de documents PDF, respectivement. ```csharp :path=/static-assets/barcode/content-code-examples/how-to/async-multithread-async.cs ``` À partir de l'extrait de code ci-dessus, nous avons instancié une Liste de chemins d'image à lire de manière asynchrone par IronBarcode. Pour lire les images, vous pouvez utiliser la méthode `ReadAsync` de la classe `BarcodeReader`. Les utilisateurs peuvent ensuite spécifier les imagePaths ainsi que les options de lecture. Cette méthode pour les opérations asynchrones est également disponible pour lire les codes-barres dans les documents PDF, connue sous le nom de `ReadPdfAsync`, qui fait partie de la même classe. ## Exemple de lecture de codes-barres en multithread Différent des opérations asynchrones, le multithreading permet à un seul processus d'être exécuté dans plusieurs threads simultanément. Cela signifie qu'au lieu d'exécuter un processus de manière séquentielle dans un seul thread, le multithreading divise les tâches entre plusieurs threads, permettant une exécution concurrente. Cependant, pour que le multithreading fonctionne, une machine doit avoir plusieurs cœurs de CPU, car ces cœurs sont utilisés pour exécuter indépendamment les threads. Semblable aux opérations asynchrones, le multithreading vise à améliorer la performance et la réactivité des applications. Dans IronBarcode, activez le multithreading en réglant la propriété `Multithreaded` et en spécifiant le nombre maximum de cœurs pour l'exécution concurrente à l'aide de `MaxParallelThreads` dans BarcodeReaderOptions. La valeur par défaut pour `MaxParallelThreads` est de 4, qui peut être ajustée en fonction des cœurs de CPU disponibles.
Veuillez noterPour trouver les cœurs disponibles : Gestionnaire des tâches -> Onglet Performance -> Cliquez sur CPU. 'Cores' affiche le nombre.
### Comparaison de performance ```cs :path=/static-assets/barcode/content-code-examples/how-to/async-multithread-multithread.cs ``` Maintenant, lisons les deux images ci-dessous et comparons le temps de lecture des opérations normales, asynchrones et multithread. #### Image d'exemple
![Image 2](/static-assets/barcode/how-to/async-multithread/sample2.webp)
Lecture normale Lecture asynchrone Lecture multithread (4 cœurs)
01,75 secondes 01,67 secondes 01,17 secondes
À partir du tableau de comparaison, il est évident qu'il y a une augmentation significative de la performance une fois la lecture asynchrone et multithread implémentée. Cependant, ces deux opérations ont des objectifs et des approches différents. Par conséquent, les utilisateurs doivent déterminer quelle approche convient le mieux à l'application qu'ils construisent. Enfin, il pourrait y avoir des situations où plusieurs codes-barres sont présents sur un seul document. Pour plus d'informations, visitez le guide [Lire plusieurs codes-barres](/csharp/barcode/how-to/read-multiple-barcodes/). For more information, visit the [Read Multiple Barcodes](/csharp/barcode/how-to/read-multiple-barcodes/) guide.

Questions Fréquemment Posées

Comment puis-je implémenter la lecture asynchrone de codes-barres en C# ?

Vous pouvez implémenter la lecture asynchrone de codes-barres en C# en utilisant les méthodes ReadAsync et ReadPdfAsync d'IronBarcode. Ces méthodes permettent la lecture de codes-barres à partir d'images et de PDFs sans bloquer le thread principal.

Quelles sont les étapes pour activer le multithreading pour le traitement des codes-barres ?

Pour activer le multithreading pour le traitement des codes-barres, définissez la propriété Multithreaded à true et configurez la propriété MaxParallelThreads pour utiliser efficacement plusieurs cœurs de CPU. IronBarcode prend en charge ces configurations.

Quels sont les avantages de l'utilisation des opérations asynchrones dans la lecture de codes-barres ?

Les opérations asynchrones dans la lecture de codes-barres permettent aux tâches de se dérouler sans bloquer le thread principal, améliorant ainsi la réactivité de l'application, en particulier pour les opérations liées à l'I/O. Les méthodes asynchrones d'IronBarcode facilitent cela en utilisant les mots-clés async et await.

Comment le multithreading améliore-t-il les performances de lecture de codes-barres ?

Le multithreading améliore les performances de lecture de codes-barres en permettant l'exécution concurrente des tâches sur plusieurs cœurs de CPU, accélérant ainsi le traitement. Cela est particulièrement bénéfique pour les tâches dépendantes du CPU.

Quel est le nombre de threads par défaut utilisé dans la lecture multithread de codes-barres ?

Dans IronBarcode, le nombre de threads par défaut utilisé pour la lecture multithread de codes-barres est de 4, qui peut être ajusté via la propriété MaxParallelThreads en fonction des capacités de votre CPU.

Où puis-je télécharger la bibliothèque pour la lecture async et multithread de codes-barres en C# ?

Vous pouvez télécharger la bibliothèque pour la lecture async et multithread de codes-barres en C# depuis le gestionnaire de packages NuGet de .NET à l'adresse https://nuget.org/packages/IronPdf/. Cette bibliothèque fournit des fonctionnalités pour les opérations async et multithread.

Le multithreading peut-il être utilisé sur tous les systèmes pour la lecture de codes-barres ?

Le multithreading peut être utilisé sur les systèmes avec plusieurs cœurs de CPU, car ces cœurs permettent le traitement simultané des threads. La fonctionnalité de multithreading d'IronBarcode tire parti de tels systèmes.

Comment puis-je comparer la performance des lectures de codes-barres normales, asynchrones et multithread ?

La comparaison des performances montre que les lectures normales sont les plus lentes, les lectures asynchrones sont plus rapides, et les lectures multithread sont les plus rapides en raison de leur utilisation de plusieurs cœurs de CPU. IronBarcode offre ces options de lecture pour une performance améliorée.

Quelle est la meilleure méthode pour lire plusieurs codes-barres dans un document ?

IronBarcode offre un support complet pour lire plusieurs codes-barres dans un document. Pour des conseils détaillés, consultez la documentation à /csharp/barcode/how-to/read-multiple-barcodes/.

Hairil Hasyimi Bin Omar
Ingénieur logiciel
Comme tous les grands ingénieurs, Hairil est un apprenant avide. Il affine ses connaissances en C#, Python et Java, utilisant ces connaissances pour apporter de la valeur aux membres de l'équipe dans toute Iron Software. Hairil a rejoint l'équipe d'Iron Software depuis l'Université Teknologi MARA en Malaisie, ...
Lire la suite
Prêt à commencer?
Nuget Téléchargements 1,935,276 | Version : 2025.11 vient de sortir