Problemas de seguridad de la lectura y escritura simultánea de mapas en Golang
Primero escribamos un programa de prueba y luego miremos los resultados:
Resultados de ejecución:
Se produjo un error que indica: Error grave: lectura simultánea del mapa y escritura de mapas, el mapa lee y escribe al mismo tiempo, pero este error no aparece cada vez que se ejecuta, es decir, a veces aparece y otras no; Pero este error no aparece cada vez que se ejecuta, es decir, a veces aparecerá y otras no según los resultados de las múltiples ejecuciones del autor (para otros ejemplos, los lectores pueden probarlo ellos mismos). Aparecerá otro error: error fatal: escritura concurrente del mapa, es decir, el mapa se escribe simultáneamente y solo leer no causará problemas. Con respecto a diferentes resultados, los amigos pueden escribir varios ejemplos para probar. A continuación, el autor da las siguientes explicaciones sobre la aparición de estos dos errores:
(1) Error fatal: lectura y escritura de mapeo simultáneas
En otras palabras, cuando una gorutina While está escribiendo datos, otra gorutina quiere hacerlo
(2) Error fatal: escritura simultánea de mapas