Je conserve une collection d'objets dans un sac concurrent. en fonction de l'entrée reçue, je veux modifier ces objets. Comment cela peut-il être fait? Je ne peux pas utiliser trytake car il supprime l'élément. Je ne suis pas sûr si trypeek serait itérer à travers la collection. OTOH, copier les éléments dans un tableau ne fonctionnerait pas car alors les objets sont en lecture seule. S'il vous plaît aiderModification d'éléments dans un sac concurrentiel + C#
0
A
Répondre
2
Vous ne pouvez pas modifier les éléments en place, il faut les enlever, les modifier et de les remettre.
1
Je pense que vous devez rouler votre propre colletction de fil sauver. TryPeek renvoie un élément, mais ne garantit en aucun cas qu'aucun autre thread ne le modifie.
Il n'y a pas non plus d'itération thread-safe.
Voir ici: http://www.codethinked.com/net-40-and-system_collections_concurrent_concurrentbag
HTH
Mario
+0
par itération thread-safe Je ne prends pas en compte l'énumérateur, car cela fait un snapshot des éléments. –
Questions connexes
- 1. Faire une classe C++ un moniteur (dans le sens concurrentiel)
- 2. Modèle concurrentiel WPF
- 3. C mécanisme d'accès concurrentiel # multithread d'attendre un résultat
- 4. jQuery - accès concurrentiel?
- 5. Cochon: aplatir un tuple comme un sac
- 6. EF Forced Contrôles d'accès concurrentiel
- 7. NHibernate ICriteria avec un sac
- 8. Modèle de consommateur concurrentiel WCF
- 9. Aplatir tuple comme un sac
- 10. Comment accéder à argv/argc dans Single Assignment C (SAC)?
- 11. Comment tester si un sac est vide dans Pig Latin?
- 12. Comment interroger un sac avec NHibernate
- 13. implémenter un multiset/sac comme collection Scala
- 14. du sac Tuple extraction dans PIG
- 15. mise en sac dans R adabag
- 16. Développement d'une bibliothèque d'accès concurrentiel C++ avec "futures" ou un paradigme similaire
- 17. Hibernate cascade delete sur un sac
- 18. Unicité dans le sac dans Hibernate
- 19. méthodologie de développement logiciel - développement concurrentiel
- 20. sac NHibernate question requête
- 21. Sac à dos avec un coût minimum
- 22. Sac de mots Classification
- 23. Trier sac liés
- 24. comment permuter d'un sac?
- 25. java swing texte d'accès concurrentiel dans JTextArea avec une boucle
- 26. Pourquoi voudrais-je mettre mes objets dans un sac?
- 27. Solution de sac à dos avec Backtraking en C++
- 28. Comment utiliser un cache de mémoire dans un accès concurrentiel contexte critique
- 29. Résoudre le sac à dos Integer
- 30. NHibernate: Comment cartographier un sac avec un ICompositeUserType
vous vous voulez dire que vous voulez modifier l'ensemble des objets (par exemple pour que les différents objets sont dans le sac), ou voulez-vous * muter * des objets individuels? c'est-à-dire les mêmes objets mais maintenant avec des valeurs différentes? –
Je veux muter des objets individuels pour que les mêmes objets aient maintenant des valeurs différentes – sura
@sura - alors @Roy en a la vérité; il n'y a aucun moyen magique de rendre les objets thread-safe (sauf si vous les codez explicitement pour être); prendre puis changer, modifier et rajouter semble l'option la plus sûre et la plus pragmatique. –