Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 19029|Respuesta: 0

[Fuente] C# realiza operaciones de recorrido seguras en un entorno multihilo

[Copiar enlace]
Publicado en 18/10/2016 13:55:48 | | |

Este artículo utiliza List como objeto de operación
MSDN da oficialmente la declaración de seguridad del hilo de List:
Este tipo de miembro público estático es seguro para hilos. Sin embargo, ningún miembro de instancia puede garantizar que sea seguro para hilos.
Mientras la colección no se modifique, List puede soportar varios lectores al mismo tiempo. Enumerar a través de un conjunto no es inherentemente un proceso seguro para hilos. En el raro caso de que una enumeración compita con uno o más accesos de escritura, la única forma de mantener los hilos seguros es bloquear la colección durante toda la duración de la enumeración. Para permitir que múltiples hilos accedan a la colección para operaciones de lectura y escritura, debes implementar tu propia sincronización.
¿Y si no sincronizas?
Si un hilo realiza una operación de eliminación y otro otro realiza una operación de recorrido, durante el proceso de recorrido la colección se modifica, lo que hará que aparezca una excepción InvalidOperationException, que indicará: la colección ha sido modificada; No se pueden realizar operaciones de enumeración.
Cómo sincronizar para garantizar la seguridad del desplazamiento
Las zonas críticas, mutexes, se utilizan aquí para asegurar el proceso de travesía de hilos, el código de ejemplo es el siguiente:






Anterior:Solución al error de firma jssdk de la cuenta oficial de WeChat bajo China Unicom
Próximo:asp.net Gestión global de excepciones MVC y registros de excepciones
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com