2011-07-28 18 views
6

Tôi đọc rằng node.js là đơn luồng, do đó, nó không ngã ba một quá trình mới hoặc bắt đầu một chuỗi mới cho mỗi yêu cầu http. Nhưng sau đó mô-đun http có cách dọn dẹp sau khi nó đóng mỗi kết nối không? Ví dụ, nếu tôi tạo một đối tượng bên trong cuộc gọi lại mỗi khi có ai đó yêu cầu một trang, thì đối tượng đó có bị phá hủy sau khi phản hồi được phục vụ và kết nối bị đóng không?Liệu node.js có tự dọn dẹp sau khi yêu cầu không?

Trả lời

7

Có điều này đúng là do phạm vi.

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

Khi bạn kết thúc chức năng, BigObject không còn được sử dụng và được dọn dẹp bởi bộ thu gom rác.

+0

Tuyệt vời! Đó là điều tốt để biết. Cảm ơn. –

+2

Bạn cũng có thể tăng tốc độ bằng cách thực hiện 'localobject = null; ' – generalhenry

+0

Tôi không nghĩ rằng việc đặt tham chiếu cục bộ trên một đối tượng thành null sẽ giúp tăng tốc độ thu gom rác thải ... ^ – weisjohn

Các vấn đề liên quan