作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
操作系统:Windows7 32位主内存:4GBruby -v : ruby 1.8.6 (2008-08-11 补丁级别 287) [i386-mswin32]
# big.mkv file size : 1.45GB
ex1.rb
puts $$
File.open("D:/test/big.mkv", "rb") do |f|
while buff = f.read(4096)
end
end
sleep 1000
ex1.rb 没问题!!内存使用量约为 19,756 KB。
但是……
ex2.rb
puts $$
th1 = Thread.new do
loop do
sleep 1
end
end
File.open("D:/test/big.mkv", "rb") do |f|
while buff = f.read(4096)
end
end
th1.join
ex2.rb内存使用量不断增加......毕竟 1,937,948 KB
我必须使用 Thread..请..帮助我!!
最佳答案
ruby 1.9 中有文件读取修复。我编写的读取大量数据的脚本在 ruby1.9 上运行速度提高了 100 倍。请尽可能升级,这是值得的。
关于使用线程时,ruby 内存使用量永远增长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7830285/
我是一名优秀的程序员,十分优秀!