Mire la documentación de .NET Framework y cuántas veces verá la oración “cualquier miembro público estático (Compartido en Visual Basic) de este tipo es seguro para subprocesos”. Está en todas partes; casi parece ruido de fondo. Pero no se deje engañar: esto no solo sucedió por sí solo, se hizo un gran esfuerzo.
Si no permite el control manual de subprocesos y hace cosas a través de, por ejemplo, la cola de eventos, todo esto desaparece. El código que comenzó a ejecutarse siempre se ejecuta hasta su finalización, y ningún otro código se ejecuta hasta que haya terminado; si está utilizando variables globales o algo así, no es necesario protegerlos para que no cambien debajo de usted. También simplifica el diseño del tiempo de ejecución del lenguaje, porque, por ejemplo, no es posible que una parte del código continúe agregando una función mientras que otra ya intenta llamarla (que normalmente necesitaría sincronización).
Sin embargo, tenga en cuenta que el navegador, Node, los módulos C ++ para Node, no son de un solo subproceso. Esta restricción solo se aplica al código JS. Por ejemplo, hay algunas operaciones asíncronas en Node que en realidad no son asíncronas en el sistema operativo; para ellos, se usará un grupo de subprocesos para mejorar el rendimiento de su programa. Sin embargo, todo este código de subprocesos múltiples es consciente de que debe preservar la ilusión de un subproceso único al hablar con JS, y se sincronizará adecuadamente (bueno, a menudo puede dejar cosas en la cola de eventos y continuar).
- ¿Dónde puedo comprar contenido (artículos) para mi sitio web?
- ¿Cuál es el crecimiento del desarrollador de pila completa (web) en el futuro?
- ¿Qué marco es el mejor para el desarrollo de pila completa usando Node.js y Angular.Js?
- ¿Cómo se compara JSON con XML?
- Cómo vincular una imagen al control deslizante de revolución en lugar de tomarla de la biblioteca de medios de WP