http://pypi.python.org/pypi/Spawning/如果我有一個具有10個進程和10個線程的Web服務器,那意味着什麼?
所以我在玩Spawning ... 如果我用10個進程和10個線程運行它,那是什麼意思?
我正在建立一個聊天室(使用eventlet的長輪詢)。這是否意味着只有10人可以在聊天室中?
http://pypi.python.org/pypi/Spawning/如果我有一個具有10個進程和10個線程的Web服務器,那意味着什麼?
所以我在玩Spawning ... 如果我用10個進程和10個線程運行它,那是什麼意思?
我正在建立一個聊天室(使用eventlet的長輪詢)。這是否意味着只有10人可以在聊天室中?
不,這一切都取決於您的應用程序的體系結構。基於事件的應用程序可以在單個線程中支持大量連接(用戶,會話,應用程序中的任何事項)。
當您執行阻止IO操作時,通常需要多個線程,而當您需要真正的計算負載分配時,通常需要多個線程。像聊天應用程序一樣簡單,您可以輕鬆避免兩者的需要。標準Python庫有asyncore
和asynchat
模塊,您可能會感興趣。 Twisted庫是一個更全面的方法。
否。具有一定數量的線程/進程不會在內容或客戶端上創建或更改任何類型的限制。擁有更多的線程/進程可以提高應用程序的性能,尤其是在單線程或單進程架構僅限於一個CPU的SMP系統上。