si hay una acción de code y más. Ahora, todos estos hilos, cuando se generan, no son conscientes entre sí. Como, solo hacen un trabajo. Al final, tienen que informar algo, como si hay errores, o si no, cualquier tipo de información. Para hacer esto, utilizamos canales. Entonces, tienes todos estos archivos. Para cada archivo, tenemos estos hilos. Hay n hilos, dependiendo del sistema operativo. Luego tenemos el hilo principal. Entonces, el hilo principal espera a todos estos hilos. Y comienza a recopilar información de todos los hilos.
Entonces, utilizando estos canales, tenemos múltiples canales con múltiples emisores, que son básicamente los hilos. Y un receptor, que pertenece al hilo principal. Y una vez que hay diagnósticos, los recopilamos. Recopilamos si hay advertencias, errores. Si, por ejemplo, omitimos algunos diagnósticos debido a algunas restricciones u opciones y cosas así. Entonces, así es como ocurre la comunicación. Y una vez que todos los hilos han terminado, el hilo principal puede reanudar su trabajo e informar todo a tu console.
Y luego tenemos tokens reutilizables. Entonces, ¿qué significa eso? Entonces, una vez que el biome analiza tu archivo, crea tokens y nodos. Estos son básicamente pointers a un bloque de memoria en tu sistema operativo. Y estos pointers se guardan, como las referencias se guardan en un objeto de caché. ¿De acuerdo? Una vez que ocurre un reparsing del mismo archivo nuevamente, digamos que ocurrió una acción de code y esa acción cambia este fragmento de let a const. Hacemos un reparsing para asegurarnos de que no haya más reglas activadas. Cuando lo repasamos, esencialmente, los nodos que pertenecen a msecret equals y la cadena se reutilizan. Entonces, en lugar de crear un nuevo nodo, ya lo tenemos allí. Entonces, tenemos esa referencia que dice que msecret apunta a ese bloque de memoria. Vamos a usarlo. No creemos uno nuevo. Entonces, así es como para cada documento reutilizamos lo mismo. Entonces, en términos de memoria, no hay desperdicio en absoluto.
Comments