id:gfxさんの記事を読んで大爆笑してしまったので、ついついRuby1.9.2+Fiberで作ってしまいました。 というわけで、メモ。 元ネタ: Islands in the byte stream/常識を覆すソートアルゴリズム!その名も"sleep sort"! def create_fiber(v) f = Fiber.new do t1 = Time.now while(true) break if Time.now - t1 >= v Fiber.yield(true) end puts v while(true); Fiber.yield false; end end end fibers = ARGV.map{|v| create_fiber(v.to_i) } while(fibers.map{|fib| fib.resume }.any?); end 実行するとこんな感じ