David Heinemeier Hansson 最近提到 Rails 2.2 将会修补一个 Rails 存在已久的问题:其缺乏线程安全性。Charles Nutter 在文章中进一步阐述了线程安全的 Rails 意味着什么:
本质上,其意味着去掉每个输入的请求所添加的较为粗糙的锁,取而代之的是为需要在线程间共享的资源加上更为精细的锁。采用的方法如,日志子系统中的数据结
构要么修改成不在线程间共享,要么需要设计恰当的锁机制以保证两个线程之间不会发生交互,不会影响彼此的数据结构或发生冲突。对于一个数据库实例我们不是
分别建立其单独的数据库连接,而是使用连接池,这样使得 N 个数据库连接可以供 M
个并发请求使用。这同时意味着潜在的包含执行数据库操作的请求不需要耗费一个连接,因此活动的连接数目通常少于可以并发处理的请求个数。
[更多查看原文]
挖友还挖到了什么 · · · · · ·