Je veux une implémentation de List<T>
comme une propriété qui peut être utilisée en toute sécurité sans aucun doute.
Quelque chose comme ça :
private List<T> _list;
private List<T> MyT
{
get { // return a copy of _list; }
set { _list = value; }
}
Il semble que j'ai encore besoin de retourner une copie (clonée) de la collection de sorte que si quelque part nous itérons la collection et en même temps la collection est définie, alors aucune exception n'est levée.
Comment mettre en œuvre une propriété de collection à sécurité thread ?
6 votes
Utiliser des verrous, ça devrait le faire.
0 votes
Peut-on utiliser une implémentation thread-safe de
IList<T>
(vsList<T>
) ?3 votes
Avez-vous vérifié Collection synchronisée<T> ?
1 votes
Utiliser BlockingCollection ou ConcurrentDictionary
0 votes
Quelles opérations devez-vous faire avec l'objet derrière la propriété ? Est-il possible que vous n'ayez pas besoin de tout ce que les
List<T>
outils ? Si oui, alors pourriez-vous fournir une interface dont vous avez besoin au lieu de demander tout ce que l'on peut implémenter ?List<T>
ont déjà ?