2011-07-28 24 views
6

He leído que node.js es de subproceso único, por lo que no se bifurca un nuevo proceso o inicia un nuevo hilo para cada solicitud http. Pero, ¿tiene el módulo http una manera de limpiar después de que cierra cada conexión? Por ejemplo, si creo un objeto dentro de la devolución de llamada cada vez que alguien solicita una página, ¿se destruye ese objeto una vez que se atiende la respuesta y se cierra la conexión?¿Node limpia node.js después de las solicitudes?

Respuesta

7

Sí, esto se debe al alcance.

http.createServer(function(res) { 
    var localobject = new BigObject(); 
    ... 
    res.end(); 
}); 

Una vez que termina la función de la BigObject ya no está en uso y se limpie por el recolector de basura.

+0

¡Impresionante! Es bueno saberlo. Gracias. –

+2

También puede acelerar las cosas haciendo 'localobject = null;' – generalhenry

+0

No creo que establecer una referencia local en un objeto como nulo ayudará a acelerar la recolección de basura ... ^ – weisjohn

Cuestiones relacionadas