Cómo simular decenas de millones de golang simultáneos
Aprendí el modelo de concurrencia básico de go. La idea es comunicar compartiendo datos, en lugar de compartir memoria como Java. Go utiliza canales para transmitir mensajes. Cada programa concurrente tiene un canal. Cuando el canal está disponible, puede leer y escribir datos. El procesamiento de datos entre canales no se afecta entre sí. Recordemos que cuando hacemos programación concurrente en Java, generalmente usamos acceso concurrente multiproceso, porque al operar un determinado dato, lo obvio es actualizar el valor correspondiente a la clave en el caché.
Lo que me encanta aún más es la sincronización proporcionada en golang. Una vez que tenga esta arma mágica, el cambio a nivel de sistema ya no será doloroso. Naturalmente, se garantiza que incluso si hay varios sistemas, piense en Java. Debe completar una inicialización a nivel de sistema para lograr la seguridad de concurrencia. Y una vez que quieras obtener un booleano, obtener un bloqueo y luego escribir lógica, Dios mío, me hace pensar en grande con solo pensarlo.