Capítulo 9. Colecciones

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Utilizar las colecciones adecuadas es esencial en las aplicaciones concurrentes. No me refiero a las colecciones estándar como List<T>; supongo que ya las conoces. El propósito de este capítulo es presentarte colecciones más nuevas que están pensadas específicamente para su uso concurrente o asíncrono.

Las colecciones inmutables son instancias de colecciones de que nunca pueden cambiar. A primera vista, esto suena completamente inútil; pero en realidad son muy útiles, incluso en aplicaciones monohilo y no concurrentes. Las operaciones de sólo lectura (como la enumeración) actúan directamente sobre la instancia inmutable. Las operaciones de escritura (como añadir un elemento) devuelven una nueva instancia inmutable en lugar de cambiar la instancia existente. Esto no es tan derrochador como parece a primera vista, porque la mayoría de las veces las colecciones inmutables comparten la mayor parte de su memoria. Además, las colecciones inmutables tienen la ventaja de que es implícitamente seguro acceder a ellas desde varios subprocesos; como no pueden cambiar, son seguras para los subprocesos.

Consejo

Las colecciones inmutables están en el paquete System.Collections.Immutable paquete NuGet.

Las colecciones inmutables son nuevas, pero deben tenerse en cuenta para nuevos desarrollos, a menos que necesites una instancia mutable. Si no estás familiarizado ...

Get Libro de cocina de la concurrencia en C#, 2ª edición now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.