我試圖用「neverblock」做一些事情,但我似乎無法使其工作。
我的期望:阻塞睡眠不應該減慢整個過程。我預計會看到基本上相同時間戳的5次「bla」。簡單的從不阻止示例不起作用
紅寶石:
$ ruby --version
ruby 1.9.2dev (2010-03-31 trunk 27123) [x86_64-darwin10.2.0]
代碼:
require "neverblock"
fiber_pool = NeverBlock::Pool::FiberPool.new(25)
5.times do
fiber_pool.spawn do
puts "bla @ #{Time.now}"
sleep 1
end
end
結果:
$ ruby test.rb
Using Neverblock
bla @ 2010-04-07 11:00:28 -0400
bla @ 2010-04-07 11:00:29 -0400
bla @ 2010-04-07 11:00:30 -0400
bla @ 2010-04-07 11:00:31 -0400
bla @ 2010-04-07 11:00:32 -0400
這是想法...我想看看什麼時候纖維被實際執行。據我瞭解,他們應該基本上並行執行(非阻塞),他們似乎不是 – 2010-04-07 15:28:06
我試過幾次測試neverblock - 沒有結果。紅寶石1.8.6 – fl00r 2010-04-07 16:13:42