新的CPU是在核的数目,而非主频上面增长。对于那些传统上使用单核编程的程序,比如说游戏,这是一个很难的问题。这些程序的作者们必须学会所有的新技术,改变他们的思维来从下一代的平台里最大程度的获益。
但是这个转型的恐惧也渗透到了其他几乎不相关的领域,比如说网络应用的开发。这也让不少人武断的下结论说Rails的未来将会很昏暗,因为我们并不推崇线程开发。这其实并不正确。
多核是网络应用可以不费吹灰之力就能全部利用到的,因为我们要解决的问题很少会是处理单个网络请求。真正的问题是处理成千上万个请求,常见的是在以秒为单位。
线程不是仅有的解决方案。进程可以和线程几乎同样的出色,但是难度上降低了很多。这也是Rails保证正确升级使用任意的多核的办法。
37signals这个套件使用的服务器有大概25个核来处理所有相关的应用。我们将会很高兴看到使用64个核的那一天。
更多关于多核编程的讨论,请看:
总结。
随着CPU核心数量的增长,网络应用开发面临着如何有效利用多核资源的挑战。本文探讨了多核环境下网络应用的处理方式,并指出进程可以作为替代线程的有效方案之一,尤其适用于处理大量并发请求的场景。

1287

被折叠的 条评论
为什么被折叠?



