迭代和并发修改
Ruby的核心集合类都是直接对当前的对象集合进行迭代,而不是先为自己建立这些对象的私有拷贝或“快照”,然后再在这些拷贝或“快照”上进行迭代,而且在被迭代的时候,这些集合类不会试图去检测或防止对集合的并发修改。
多线程调用时,修改了迭代内容可能会出现意想不到的事情。
2011-4-27 14:42 danny
Ruby的核心集合类都是直接对当前的对象集合进行迭代,而不是先为自己建立这些对象的私有拷贝或“快照”,然后再在这些拷贝或“快照”上进行迭代,而且在被迭代的时候,这些集合类不会试图去检测或防止对集合的并发修改。
多线程调用时,修改了迭代内容可能会出现意想不到的事情。
2011-4-27 14:42 danny