Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 57872|Répondre: 7

[Source] c# encapsule une file universelle QueueHelper

[Copié le lien]
Publié sur 29/08/2018 10:39:11 | | | |
Dans le développement quotidien, nous pouvons utiliser des files d’attente, qui sont une structure de stockage permettant d’obtenir le « premier entrant, premier sorti ».

Scénarios d’application : rédiger des journaux, envoyer des e-mails, etc

Si nous devons enregistrer le journal d’interface de chaque utilisateur demandant nos données, nous n’avons pas besoin d’écrire un journal à chaque demande de l’utilisateur, nous pouvons mettre le contenu du journal dans la file d’attente et laisser d’autres threads l’exécuter, afin de ne pas affecter l’efficacité de l’application.

Un autre avantage est que l’ajout de données à la file d’attente en cas de concurrence en utilisant un seul thread pour exécuter les données de la file peut éviter de nombreuses exceptions ; en cas de concurrence (multithread), l’accès au même fichier physique entraînera des exceptions. (sous réserve de disponibilité)

Approche universelle par file d’attente :

C’est une classe abstraite, et vous devez hériter de cette classe d’abstraction et implémenter la méthode d’abstraction Exécuter. Comme je ne sais pas quel type de données vous souhaitez traiter, des génériques sont utilisés ici, c’est-à-dire que l’entité est de type chaîne, les paramètres de la méthode sont de type chaîne, et les données que vous traitez sont des données de type chaîne.

La file thread-safe ConcurrentQueue garantit qu’il n’y aura aucune exception dans un environnement multithread.

ManualResetEvent pour contrôler le signal du thread,Par le passé, nous vérifiions la file d’attente pour les données toutes les quelques secondes ou minutesMaintenant, nous ajoutons les données à la file d’attente et il suffit de passer un signal !

Utilisation :

(Fin)




Précédent:Installation du package de configuration du projet processus de production Je veux copier la question du fichier de sortie primaire
Prochain:La question des redis chinois ne peut pas être correctement présentée
 Propriétaire| Publié sur 24/05/2019 10:13:59 |
Recommandez un cadre :

asp.net tutoriel du framework Hangfire pour les tâches en arrière-plan
https://www.itsvse.com/thread-7611-1-1.html
(Source : Architect_Programmer)
Publié sur 10/09/2019 10:26:26 |
Pourquoi la méthode Execute dans la classe Test n’est-elle pas exécutée lorsque je l’exécute ?
 Propriétaire| Publié sur 10/09/2019 21:52:44 |
hano7758 Publié le 10-09-2019 à 10:26
Pourquoi la méthode Execute dans la classe Test n’est-elle pas exécutée lorsque je l’exécute ?

Peux-tu poster ton code ?
 Propriétaire| Publié sur 23/01/2021 11:53:46 |
.NET/C# est basé sur la file d’attente de tâches en arrière-plan BlockingCollection
https://www.itsvse.com/thread-9528-1-1.html

Publié sur 26/07/2021 14:09:53 |
Comment peux-tu voir le code
Publié sur 26/09/2022 22:20:08 |
Je dois apprendre à l’utiliser
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com