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

Vue: 19792|Répondre: 0

[Source] Utilisation de SyncRoot dans StringDictionary

[Copié le lien]
Publié sur 23/11/2016 14:26:38 | | | |

La programmation orientée objet C# offre de nombreuses classes d’opérations conviviales, ce StringDictionary est une collection de classes spécialisées dans le stockage de chaînes comme clés et valeurs, la signification de cette classe est la suivante : C# sait que la chaîne dans le type de valeur est assez largement utilisée, d’autres types de valeurs peuvent aussi être convertis en types de chaînes correspondants, c’est le sens de cette collection, mais vous pouvez toujours utiliser d’autres objets de collection pour la remplacer, mais faites attention à un point, Si c’est un stockage en chaînes, cela peut réduire la perte de mémoire et le temps nécessaire pour exécuter le programme


SyncRoot peut être utilisé pour synchroniser l’accès au StringDictionary

Pour être franc, c’est le concept de verrou, écrivons un programme pour le tester :

Le code est le suivant :



Nous avons deux threads simultanément pour ajouter des données au dictionnaire StringDictionary,

La différence de temps d’exécution entre le premier et le second fil est d’une seconde, afin d’élargir la différence de temps et d’éviter que l’exécution ne soit trop rapide.

Vous pouvez voir que les threads sont passés aux deux méthodes, et lors de l’ajout de la deuxième donnée, ils attendent que les premières données soient ajoutées avant d’ajouter les secondes, et le temps d’addition est très rapide.

Ci-dessous, nous l’écrirons d’une manière différente pour la rendre plus facile à comprendre :





3 threads sont ouverts, les données ajoutées, et les 3 threads sont exécutés presque en même temps, mais lorsque les données sont ajoutées, chacun est espacé de 10 secondes.

En résumé, lors d’un accès multithread, nous pouvons utiliser SyncRoot pour garantir la sécurité des threads




Précédent:Comment utiliser WPF Trigger pour changer de bouton
Prochain:c# Utiliser l’OCR pour reconnaître les images chinoises
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