エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
ずいぶん前にクロウラみたいなの書こうと思って飽きちゃったネタ。なるべく同じホストへのリクエストが... ずいぶん前にクロウラみたいなの書こうと思って飽きちゃったネタ。なるべく同じホストへのリクエストが連続しないようにするへんなQueue。 require 'monitor' require 'thread' require 'uri' class ReservedQueue include MonitorMixin def initialize super() @queue = Queue.new @bin = Hash.new {|h, k| h[k] = []; @queue.push(h[k]); h[k]} end def push(uri) synchronize do ary = @bin[key(uri)] ary.push(uri) end end def pop synchronize do begin ary = @queue.pop end while ary.empt