4
我一直在讀了好幾個小時了,我完全可以想出蟒蛇多線程如何比單線程快。Python和真正的併發線程
真正的問題來自GIL莖。如果有GIL,並且任何時候只有一個線程真的在運行,那麼多線程如何比單個線程更快?
我閱讀了一些操作GIL被釋放(如寫入文件)。這是什麼使多線程更快?
而關於greenlets。這些如何幫助併發?到目前爲止,我所看到的所有目的都是在函數和不太複雜的yield函數之間輕鬆切換。
編輯:怎麼在世界上像旋風一臺服務器可以處理數千個併發連接?
+1對於與GIL有關的有用答案。我認爲GIL只對CPU限制的進程很重要。即使存在GIL,IO綁定進程仍然可以從線程(響應等)中獲益。另外,OP詢問了Tornado的性能 - 答案是它使用非阻塞IO,因此不需要事件循環中的線程。 –