タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

rubyとthreadに関するtrashsuiteのブックマーク (3)

  • ActiveRecord::ConnectionAdapters::ConnectionPool

    Ruby on Rails 7.1.3.4 Class ActiveRecord::ConnectionAdapters::ConnectionPool < Object activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb activerecord/lib/active_record/connection_adapters/abstract/connection_pool/queue.rb activerecord/lib/active_record/connection_adapters/abstract/connection_pool/reaper.rb Active Record Connection Pool Connection pool base class for man

  • Threadの話 - GIOの日記

    最近Rubyでクローラを書いた。 なかなか気合いの入った動きをみせ、一晩で3Gバイトものデータをダウンロードしてくる。 また、それに比例して処理も遅くなる為、Threadを使うことにした。 RubyでのThreadはグリーンスレッド、つまり1つのカーネルスレッドに対して複数のユーザースレッドが動作している為、並行的には動作できるが、並列には動かない。つまり速くならない。 しかしクローラのようにボトルネックがネットワークとディスクIOの場合、待ち時間に他の処理ができるのでそこそこ有用です。 問題としてRubyのThreadはとにかく遅い。コストが高すぎ。スイッチング遅すぎ。 来は (1..10000).map { |e| Thread.start { e**2 } }.map{ |th| th.value } みたいにThreadを使い捨てにしたい。楽だし。 でもリソースがもったいなさ過ぎ

    Threadの話 - GIOの日記
  • Thread.newとThread.startの違い - ちなみに

    的に Thread.new と同じですが、 new メソッドと違い initialize メソッドを呼びません。 502 Bad Gateway の意味が分からなくて、initializeを呼んでいる分newの方がオーバーヘッドがでかいんじゃないかと思って、ベンチマークとってみたけど、ほとんど差がなくて、うーんってなっていたので、ここぞとばかりにZnZさんに教えていただきました。 結局何が違うかというか、Threadを継承したクラスを使うときに、newメソッドだとそのサブクラスのinitializeが呼ばれて、sratr(fork)メソッドだと呼ばれないという点です。 以下の検証コードで試してみました。 class MyThread < Thread def initialize super puts 'MyThread was created' end end MyThread.ne

    Thread.newとThread.startの違い - ちなみに
  • 1