2010-09-23 82 views
1

我想如果你有setTimeout=1那麼節點服務器將在1秒內不可用於所有請求,因爲它是基於事件的非線程Web服務器(糾正我,如果我錯了)。睡眠會阻止Nginx,因爲它是一個基於事件的服務器?

我聽說Nginx也是一個基於事件的web服務器。這不是說如果我有sleep 1那麼它會在1秒內停止所有請求?

+0

我不確定nginx如何面對'sleep'行爲,但是,雖然它不是基於線程的,但它可能具有多個工作進程:http://wiki.nginx.org/NginxHttpMainModule# worker_processes – 2011-01-11 22:40:32

回答

0

我覺得如果你有setTimeout的= 1那麼節點的服務器將是在1秒內所有的請求不可用,因爲它是基於事件的,非線程Web服務器(糾正我,如果我錯了)。

這是不正確的。節點有一個事件循環,所以當這一秒鐘過去後,它將返回到setTimeout中的代碼並運行它。在這段時間內,它將繼續爲請求提供服務並開展工作。

需要注意的是,如果你想阻止的一切,你會做一個 而(真){}

如果您有任何其他疑問,歡迎隨時停止爲#node.js並提出問題。