Maison >développement back-end >Tutoriel C#.Net >Rendez vos collections thread-safe en C#

Rendez vos collections thread-safe en C#

王林
王林avant
2023-08-27 22:13:02826parcourir

在 C# 中使您的集合线程安全

.NET Framework 4 a introduit l'espace de noms System.Collections.Concurrent. Il dispose de plusieurs classes de collection thread-safe et extensibles. Ces collections sont appelées collections simultanées car elles sont accessibles par plusieurs threads en même temps.

Les types de collections simultanées suivants utilisent des mécanismes de synchronisation légers : SpinLock, SpinWait, etc. Ce sont de nouvelles fonctionnalités de .NET Framework 4.

Regardons les collections simultanées en C# -

Type Description
Collection de blocage Limites et fonctionnalités de blocage de toute nature.
Dictionnaire de concurrence Implémentation thread-safe du dictionnaire clé-valeur.
File d'attente simultanée Implémentation thread-safe de la file d'attente FIFO (premier entré, premier sorti).
Pile de concurrence Implémentation thread-safe de la pile LIFO (dernier entré, premier sorti).
Package simultané Implémentation thread-safe de la collection d'éléments non ordonnés.
IProducerConsumerCollection Interface que ce type doit implémenter pour être utilisée dans BlockingCollection

Voyons comment utiliser ConcurrentStack, qui est une collection dernier entré, premier sorti (LIFO) thread-safe -

ConcurrentStack<int> cs = new ConcurrentStack<int>();
cs.Push(95);
cs.Push(120);
cs.Push(130);

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer