多核的歇斯底里和线程的困惑

多核的歇斯底里和线程的困惑

前些时候在哪里看到过php?name=Ruby" onclick="tagshow(event)" class="t_tag">Ruby不支持多核应用的讨论,今天看了DHH的博客,发现他也在说这个问题。
引用:
新的CPU是在核的数目,而非主频上面增长。对于那些传统上使用单核编程的程序,比如说游戏,这是一个很难的问题。这些程序的作者们必须学会所有的新技术,改变他们的思维来从下一代的平台里最大程度的获益。

但是这个转型的恐惧也渗透到了其他几乎不相关的领域,比如说网络应用的开发。这也让不少人武断的下结论说Rails的未来将会很昏暗,因为我们并不推崇线程开发。这其实并不正确。

多核是网络应用可以不费吹灰之力就能全部利用到的,因为我们要解决的问题很少会是处理单个网络请求。真正的问题是处理成千上万个请求,常见的是在以秒为单位。

线程不是仅有的解决方案。进程可以和线程几乎同样的出色,但是难度上降低了很多。这也是Rails保证正确升级使用任意的多核的办法。

37signals这个套件使用的服务器有大概25个核来处理所有相关的应用。我们将会很高兴看到使用64个核的那一天。

更多关于多核编程的讨论,请看:总结。
好 
刚开始学